zoukankan      html  css  js  c++  java
  • 权限管理模块管理

    权限管理,不但有角色大方面来控制用户所拥有的权限,还是以模块来控制,这样可以让权限分得更细些。
    这方法与角色管理表结构与存储过程是一样的,只是一些表名写字段名称不一样而已。
    在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
  • 相关阅读:
    【持续更新】养成一些好的C++编程习惯,争做一个不让同事骂街的程序员
    Inno Setup界面美化
    QWebengineView页面不实时刷新的问题
    Qt封装窗口进dll须知
    Inno Setup打包工具
    【转载】排序方式整理(带演示GIF)
    MySQL遇见SELECT list is not in GROUP BY clause and contains nonaggre的问题
    JMeter测试TCP协议
    Win10微软拼音关闭Ctrl+Shift+B快捷键
    Hive 窗口函数使用(1)
  • 原文地址:https://www.cnblogs.com/insus/p/1776534.html
Copyright © 2011-2022 走看看