把控制的页面分类,即以模块来分类,如同角色所拥有页面一样,最终我们只为用户分配某一模块,来控制到用户只能访问相关的页面。

asp.net前端介面:

权限管理----模块与页面关系


在数据库,表[ModulePages]结构如下,代码参考角色与页面关系表结构一样:

权限管理----模块与页面关系

 

实现为模块分配页面的事件,还得写分配事件的存储过程: 

代码
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[usp_ModulePages_AssignPagesAction]
(
    
@ModuleId smallint,
    
@PagesId int,
    
@IsEnable bit
)
AS
BEGIN TRANSACTION
    
DECLARE @err int
IF (SELECT count(*)  FROM [ModulePages] WHERE [ModuleId] = @ModuleId AND [PagesId] = @PagesId )>0
    
BEGIN        
        
UPDATE [ModulePages] SET [IsEnable]=@IsEnable WHERE [ModuleId] = @ModuleId AND [PagesId] = @PagesId 
        
SET @err=@@ERROR
        
IF @err<>0            
            
ROLLBACK TRANSACTION    
    
END
ELSE
    
BEGIN
        
INSERT INTO [ModulePages] ([ModuleId],[PagesId] ,[IsEnable] ) VALUES (@ModuleId ,@PagesId ,@IsEnable)
        
SET @err=@@ERROR
        
IF @err<>0            
            
ROLLBACK TRANSACTION    
    
END
COMMIT TRANSACTION
    
GO

 

 

相关文章:

  • 2021-12-02
  • 2021-12-23
  • 2022-12-23
  • 2021-12-12
  • 2021-11-06
  • 2022-02-08
猜你喜欢
  • 2021-07-05
  • 2022-02-27
  • 2021-06-06
  • 2022-01-30
  • 2021-09-07
  • 2022-12-23
相关资源
相似解决方案