boca

boca

Snippet Name: boca

Tags: helpful,scriptgeneration

Created Date: Oct 1 2021 8:05AM
Last Modified Date: Oct 1 2021 8:05AM

–desc: boca SQL to permission mapping

Dependencies: none-standalone code

Sample Output:

 
 --desc: boca SQL to permission mapping
 
 SELECT tabz.[TableName],tabz.[SQLSelect],HASHBYTES('SHA1',tabz.[SQLSelect]) AS SQLSelectHash FROM [BocaVoxSystem].[TableMap] tabz WHERE tabz.TableName = 'Communication'
 
 
 
 SELECT DISTINCT 
 
 @@SERVERNAME AS ServerName,
 
 DB_NAME() AS DataBaseName,
 
 tabz.[TableMapIndex],
 
 tabz.[TableName],
 
 Role.Code,
 
 HASHBYTES('SHA1',tabz.[SQLSelect]) AS SQLSelectHash,
 
 HASHBYTES('SHA1',sec.[SecuritySql]) AS SecuritySqlHash,
 
 Role.RoleIndex,
 
 tabz.[SQLSelect],
 
 --tabz.[SQLAdd],
 
 --tabz.[SQLUpdate],
 
 --tabz.[SQLDelete],
 
 --tabz.[IsAudited],
 
 sec.[SecuritySql],
 
 SecurityRuleIndex,
 
 SelUpdateSQL = 'UPDATE tabz SET SQLSelect  = '''  + REPLACE(tabz.SQLSelect,'''','''''') + ''' FROM [BocaVoxSystem].[TableMap] WHERE TableName = ''' + tabz.TableName + '''',
 
 SelRollbackSQL = 'UPDATE tabz SET SQLSelect  = '''  + REPLACE(tabz.SQLSelect,'''','''''') + ''' FROM [BocaVoxSystem].[TableMap] WHERE TableName = ''' + tabz.TableName + '''',
 
 SecUpdateSQL = 'UPDATE sec SET SecuritySql = '''  + REPLACE(sec.[SecuritySql],'''','''''') + '''
 
  FROM [BocaVoxSystem].[TableMap] tabz
 
    INNER JOIN BocaVoxSystem.SecurityRule sec
 
      ON tabz.[TableMapIndex] = sec.[TableMapIndex] --AND tabz.RoleIndex = sec.RoleIndex
 
  INNER JOIN BocaVoxSystem.Role 
 
    ON Role.RoleIndex = sec.RoleIndex
 
  WHERE  Role.Code = ''' + Role.Code +''' AND tabz.TableName = ''' + tabz.TableName + ''';',
 
 SecRollbackSQL = 'UPDATE sec SET SecuritySql = '''  + REPLACE(sec.[SecuritySql],'''','''''') + '''
 
  FROM [BocaVoxSystem].[TableMap] tabz
 
    INNER JOIN BocaVoxSystem.SecurityRule sec
 
      ON tabz.[TableMapIndex] = sec.[TableMapIndex] --AND tabz.RoleIndex = sec.RoleIndex
 
  INNER JOIN BocaVoxSystem.Role 
 
      ON Role.RoleIndex = sec.RoleIndex
 
  WHERE  Role.Code = ''' + Role.Code +''' AND tabz.TableName = ''' + tabz.TableName + ''';'
 
  FROM [BocaVoxSystem].[TableMap] tabz
 
  INNER JOIN BocaVoxSystem.SecurityRule sec
 
  ON tabz.[TableMapIndex] = sec.[TableMapIndex] --AND tabz.RoleIndex = sec.RoleIndex
 
  INNER JOIN BocaVoxSystem.Role ON Role.RoleIndex = sec.RoleIndex
 
 --where tabz.TableName = 'StudentHistory'
 
 ORDER BY tabz.TableName,SecuritySqlHash
 
 
Previous Article
Next Article

Leave a Reply