为了账号安全,请及时绑定邮箱和手机立即绑定

SyteLine Authorizations

标签:
MySQL

实施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

 

 

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消