zoukankan      html  css  js  c++  java
  • SyteLine Authorizations

    实施Syteline system, 在authorizations时,经常需要写的几个SQL语句,因此把它写成存储过程,在使用时,执行这些存储过程即可,纯粹是为了方便工作。

    取到所有用户:

    CREATE PROCEDURE [dbo].[usp_SyteLine_GetUserNames]
    AS 
    SELECT [userId],[username],[userDesc] FROM [dbo].[UserNames] ORDER BY [username]

     
    取得用户信息By UserId:

    CREATE PROCEDURE [dbo].[usp_SyteLine_GetUserNamesByUserId]
    (
        
    @UserId DECIMAL(11,0)
    )
    AS 
    SELECT [userId],[username],[userDesc] FROM [dbo].[UserNames] WHERE UserId = @UserId

    GO

      

    取得所有组信息:

    CREATE PROCEDURE [dbo].[usp_SyteLine_GetGroupNames]
    AS 
    SELECT [GroupId],[GroupName],[GroupDesc] FROM [dbo].[GroupNames] ORDER BY [GroupName] ASC

    GO

     
    取得用户信息By GroupId:

    代码
    CREATE PROCEDURE [dbo].[usp_SyteLine_GetUserNamesByGroup]
    (
        
    @GroupId DECIMAL(11,0)
    )
    AS 
    SELECT [userId],[username],[userDesc] FROM [dbo].[UserNames] WHERE UserId IN 
    (
        
    SELECT [UserId] FROM [dbo].[UserGroupMap] WHERE [GroupId] = @GroupId
    )
    GO

      

    取得权限组By UserId:

    代码
    CREATE PROCEDURE [dbo].[usp_SyteLine_GetGroupNamesByUser]
    (
        
    @UserId DECIMAL(11,0)
    )
    AS 
    SELECT [GroupId],[GroupName],[GroupDesc] FROM [dbo].[GroupNames] WHERE [GroupId] IN 
    (
        
    SELECT [GroupId] FROM [dbo].[UserGroupMap] WHERE [UserId] = @UserId
    )

    GO

      

    取得权限组By GroupId:

    代码
    CREATE PROCEDURE [dbo].[usp_SyteLine_GetGroupNamesByGroup]
    (
        
    @GroupId DECIMAL(11,0)
    )
    AS 
    SELECT [GroupId],[GroupName],[GroupDesc] FROM [dbo].[GroupNames] WHERE [GroupId] = @GroupId

    GO


    取得用户息By ObjectName: 

    代码
    CREATE PROCEDURE [dbo].[usp_SyteLine_GetUserNamesByObject]
    (
        
    @ObjectName NVARCHAR(50)
    )
    AS 
    SELECT [userId],[username],[userDesc] FROM [dbo].[UserNames] WHERE UserId IN 
    (
    SELECT [Id] FROM [dbo].[AccountAuthorizations]
    WHERE [UserFlag] = 1 AND [ObjectType] = 0 AND ObjectName1 LIKE '%' +@ObjectName + '%')

       
    取得权限组By ObjectName:

    代码
    CREATE PROCEDURE [dbo].[usp_SyteLine_GetGroupNamesByObject]
    (
        
    @ObjectName NVARCHAR(50)
    )
    AS 
    SELECT GroupId,GroupName,GroupDesc FROM [dbo].[GroupNames] WHERE GroupId IN(
    SELECT [Id] FROM [dbo].[AccountAuthorizations]
    WHERE [UserFlag] = 0 AND [ObjectType] = 0 AND ObjectName1 LIKE '%' +@ObjectName + '%'

      

    取得用户拥有form对象By userId:

    代码
    CREATE PROCEDURE [dbo].[usp_SyteLine_GetAccountAuthorizationsByUser]
    (
        
    @UserId DECIMAL(11,0)
    )
    AS 
    SELECT [ObjectName1],
    CASE WHEN [ReadPrivilege] = 1 THEN 'Granted' WHEN [ReadPrivilege] = 0 THEN 'Revoked' END AS [ReadPrivilege],
    CASE WHEN [UpdatePrivilege] = 1 THEN 'Granted' WHEN [UpdatePrivilege] = 0 THEN 'Revoked' END AS [UpdatePrivilege],
    CASE WHEN [BulkUpdatePrivilege] = 1 THEN 'Granted' WHEN [BulkUpdatePrivilege] = 0 THEN 'Revoked' END AS [BulkUpdatePrivilege],
    CASE WHEN [InsertPrivilege] = 1 THEN 'Granted' WHEN [InsertPrivilege] = 0 THEN 'Revoked' END AS [InsertPrivilege],
    CASE WHEN [DeletePrivilege] = 1 THEN 'Granted' WHEN [DeletePrivilege] = 0 THEN 'Revoked' END AS [DeletePrivilege],
    CASE WHEN [EditPrivilege] = 1 THEN 'Granted' WHEN [EditPrivilege] = 0 THEN 'Revoked' END AS [EditPrivilege],
    CASE WHEN [ExecutePrivilege] = 1 THEN 'Granted' WHEN [ExecutePrivilege] = 0 THEN 'Revoked' END AS [ExecutePrivilege] 
    FROM [dbo].[AccountAuthorizations] 
    WHERE [UserFlag] = 1 AND [Id] = @UserId

    GO

      

    取得组拥有form对象By GroupId:

    代码
    CREATE PROCEDURE [dbo].[usp_SyteLine_GetAccountAuthorizationsByGroup]
    (
        
    @GroupId DECIMAL(11,0)
    )
    AS 
    SELECT [ObjectName1],
    CASE WHEN [ReadPrivilege] = 1 THEN 'Granted' WHEN [ReadPrivilege] = 0 THEN 'Not Granted' END AS [ReadPrivilege],
    CASE WHEN [UpdatePrivilege] = 1 THEN 'Granted' WHEN [UpdatePrivilege] = 0 THEN 'Not Granted' END AS [UpdatePrivilege],
    CASE WHEN [BulkUpdatePrivilege] = 1 THEN 'Granted' WHEN [BulkUpdatePrivilege] = 0 THEN 'Not Granted' END AS [BulkUpdatePrivilege],
    CASE WHEN [InsertPrivilege] = 1 THEN 'Granted' WHEN [InsertPrivilege] = 0 THEN 'Not Granted' END AS [InsertPrivilege],
    CASE WHEN [DeletePrivilege] = 1 THEN 'Granted' WHEN [DeletePrivilege] = 0 THEN 'Not Granted' END AS [DeletePrivilege],
    CASE WHEN [EditPrivilege] = 1 THEN 'Granted' WHEN [EditPrivilege] = 0 THEN 'Not Granted' END AS [EditPrivilege],
    CASE WHEN [ExecutePrivilege] = 1 THEN 'Granted' WHEN [ExecutePrivilege] = 0 THEN 'Not Granted' END AS [ExecutePrivilege]
    FROM [dbo].[AccountAuthorizations] 
    WHERE [UserFlag] = 0 AND [ObjectType] = 0 AND [Id] = @GroupId

    GO
  • 相关阅读:
    mysql用 法like concat()
    redis系列之数据库与缓存数据一致性解决方案
    day33:进程锁&事件&进程队列&进程间共享数据
    day32:进程&进程join&守护进程deamon
    day31:socketserver&hashlib&hmac&TCP登录
    day30:TCP&UDP:socket
    day29:计算机网络概念
    小程序3:ATM小程序
    hdu 6867 Tree 2020 Multi-University Training Contest 9 dfs+思维
    Codeforces Round #660 (Div. 2) Captain Flint and Treasure 拓扑排序(按照出度、入读两边拓扑排序)
  • 原文地址:https://www.cnblogs.com/insus/p/1899336.html
Copyright © 2011-2022 走看看