zoukankan      html  css  js  c++  java
  • 权限管理角色与页面关系

    做权限管理,我们要做好某一个角色所拥有的控制页面,因此,会在数据库中,建立一张[RolePages]来存储角色与控制页面的关系信息。

     在Asp.net介面,如下示图:

    表结构如下:

    代码
    SET ANSI_NULLS ON
    GO

    SET QUOTED_IDENTIFIER ON
    GO

    CREATE TABLE [dbo].[RolePages](
        
    [RoleId] [smallint] NOT NULL,
        
    [PagesId] [int] NOT NULL,
        
    [IsEnable] [bit] NOT NULL
    ON [PRIMARY]

    GO

    ALTER TABLE [dbo].[RolePages]  WITH CHECK ADD  CONSTRAINT [FK_RolePages_Pages] FOREIGN KEY([PagesId])
    REFERENCES [dbo].[Pages] ([PagesId])
    ON UPDATE CASCADE
    ON DELETE CASCADE
    GO

    ALTER TABLE [dbo].[RolePages] CHECK CONSTRAINT [FK_RolePages_Pages]
    GO

    ALTER TABLE [dbo].[RolePages]  WITH CHECK ADD  CONSTRAINT [FK_RolePages_Role] FOREIGN KEY([RoleId])
    REFERENCES [dbo].[Role] ([RoleId])
    ON UPDATE CASCADE
    ON DELETE CASCADE
    GO

    ALTER TABLE [dbo].[RolePages] CHECK CONSTRAINT [FK_RolePages_Role]
    GO

    接下来,我们建立存储过程,专为角色分配页面。

    代码
    SET ANSI_NULLS ON
    GO

    SET QUOTED_IDENTIFIER ON
    GO

    CREATE PROCEDURE [dbo].[usp_RolePages_AssignPagesAction]
    (
        
    @RoleId smallint,
        
    @PagesId int,
        
    @IsEnable bit
    )
    AS
    BEGIN TRANSACTION
        
    DECLARE @err int
    IF (SELECT count(*)  FROM [RolePages] WHERE [RoleId] = @RoleId AND [PagesId] = @PagesId ) > 0
        
    BEGIN        
            
    UPDATE [RolePages] SET [IsEnable]=@IsEnable WHERE [RoleId] = @RoleId AND [PagesId] = @PagesId 
            
    SET @err=@@ERROR
            
    IF @err<>0            
                
    ROLLBACK TRANSACTION    
        
    END
    ELSE
        
    BEGIN
            
    INSERT INTO [RolePages] ([RoleId],[PagesId] ,[IsEnable] ) VALUES (@RoleId ,@PagesId ,@IsEnable)
            
    SET @err=@@ERROR
            
    IF @err<>0            
                
    ROLLBACK TRANSACTION    
        
    END
    COMMIT TRANSACTION
        
    GO
  • 相关阅读:
    word2vec的Java源码【转】
    将博客搬至CSDN
    去掉中英文符号
    搜索引擎原理和简单过程【转】
    写国际会议论文和期刊的一些注意事项
    Java中Map根据键值(key)或者值(value)进行排序实现
    solr 查询获取数量getCount()
    【solr filter 介绍--转】http://blog.csdn.net/jiangchao858/article/details/54989025
    将中文数字转为数字
    java.util.Properties类的介绍-配置文件的读写【-Z-】
  • 原文地址:https://www.cnblogs.com/insus/p/1776475.html
Copyright © 2011-2022 走看看