• 权限管理模块管理


    权限管理,不但有角色大方面来控制用户所拥有的权限,还是以模块来控制,这样可以让权限分得更细些。
    这方法与角色管理表结构与存储过程是一样的,只是一些表名写字段名称不一样而已。
    在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
  • 相关阅读:
    OpenShift
    ant exec
    深入了解Ant构建工具 命令
    防止sql注入和跨站脚本攻击,跨站请求伪造以及一句话木马的学习记录
    Web攻防之XSS,CSRF,SQL注入(转)
    sublime text常用快捷键(转)
    fiddler使用心得记录
    python+tesseract验证码识别的一点小心得
    window脚本命令学习(转)
    python发送邮件(转)
  • 原文地址:https://www.cnblogs.com/insus/p/1776534.html
Copyright © 2020-2023  润新知