• 权限管理模块管理


    权限管理,不但有角色大方面来控制用户所拥有的权限,还是以模块来控制,这样可以让权限分得更细些。
    这方法与角色管理表结构与存储过程是一样的,只是一些表名写字段名称不一样而已。
    在asp.net后台管理介面如下截图:

    数据表[Module]结构如下:

    代码
    SET ANSI_NULLS ON
    GO

    SET QUOTED_IDENTIFIER ON
    GO

    CREATE TABLE [dbo].[Module](
        
    [ModuleId] [smallint] IDENTITY(1,1NOT NULL,
        
    [ModuleName] [nvarchar](50NOT NULL,
        
    [Description] [nvarchar](100NOT NULL,
    PRIMARY KEY CLUSTERED 
    (
        
    [ModuleId] ASC
    )
    WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ONON [PRIMARY],
     
    CONSTRAINT [UK_Module_UD980sA6] UNIQUE NONCLUSTERED 
    (
        
    [ModuleName] ASC
    )
    WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ONON [PRIMARY]
    ON [PRIMARY]

    GO

    插入存储过程usp_Module_Insert:

    代码
    SET ANSI_NULLS ON
    GO

    SET QUOTED_IDENTIFIER ON
    GO

    CREATE PROCEDURE [dbo].[usp_Module_Insert]
    (
        
    @ModuleName nvarchar(50),
        
    @Description nvarchar(50)
    )
    AS    
     
    SELECT [ModuleName] FROM [Module] WHERE [ModuleName]=@ModuleName
    IF @@ROWCOUNT>0
    BEGIN
        
    RAISERROR(N'此模块已经存在,无法添加!',16,1)
        
    RETURN
    END
    ELSE

      
    BEGIN TRANSACTION
                
    INSERT INTO dbo.Module([ModuleName],[Description]VALUES (@ModuleName,@Description)
            
    IF @@ERROR<>0    
            
    BEGIN
        
    ROLLBACK TRANSACTION        
            
    END
            
        
    COMMIT TRANSACTION

    更新存储过程usp_Module_Update:

    代码
    SET ANSI_NULLS ON
    GO

    SET QUOTED_IDENTIFIER ON
    GO

    CREATE  PROCEDURE [dbo].[usp_Module_Update]
    (
    @ID tinyint,
    @ModuleName nvarchar(50),
    @Description nvarchar(50)
    )
    AS    
     
    SELECT [ModuleName] FROM [Module] WHERE [ModuleName]=@ModuleName AND [ModuleId]<>@ID
    IF @@ROWCOUNT>0
    BEGIN
    RAISERROR(N'此模块已经存在,无法更新!',16,1)
    RETURN
    END
    ELSE

      
    BEGIN TRANSACTION
                
    UPDATE [Module] SET [ModuleName]=@ModuleName,[Description]=@Description WHERE [ModuleId]=@ID
            
    IF @@ERROR<>0    
            
    BEGIN
                
    ROLLBACK TRANSACTION        
            
    END    
                
    COMMIT TRANSACTION
    GO
  • 相关阅读:
    hibernate关联关系映射
    java单例模式
    HTML如何给table添加滚动条
    jquery的几种ajax方式对比
    JQuery Selectors 方法说明
    jQuery遍历对象/数组/集合
    Jquery常用函数
    【刷题】【省选】ZJOI2017_仙人掌_LOJ2250/Luogu3687_圆方树/dp计数/树形dp
    【学习笔记】圆方树学习笔记
    【模板】【刷题】差分与前缀和_LuoguP5488_多项式
  • 原文地址:https://www.cnblogs.com/insus/p/1776534.html
Copyright © 2020-2023  润新知