权限管理----模块管理

权限管理,不但有角色大方面来控制用户所拥有的权限,还是以模块来控制,这样可以让权限分得更细些。
这方法与角色管理表结构与存储过程是一样的,只是一些表名写字段名称不一样而已。
在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

 

 

posted @ 2010-07-13 15:43  Insus.NET  阅读(975)  评论(1编辑  收藏  举报