扩展ASP.NET MEMBERSHIP权限功能(一 )

  扩展ASP.NET MEMBERSHIP权限功能

  目前常用的ASP.NET 的membership功能,可以将权限控制到页,需要我们在web.config中进行设置,如果需求稍多一点,你会发现有些力不从心,网上有很多开源的权限管理系统,但差不多都是重新设计开发,所以我这里要做的是在membership的基础上增加 用户组权限到每个页面及按钮的功能,如A组只能新增,他的页面上面就只有新增按钮,B组只能删除和修改 他的界面上就没有新增的功能,即使B组知道新增的URL,进入后也会提示无权限,各个功能都能过后台数据库进行配置,全局来控制。

  membership的用法不用多说,下面讲讲思路

  1. 当用户访问文件目录,读取当前目录下面的web.config

  2. 根据web.config中的设定每个文件权限,并匹配数据库中的信息,如果符合条件显示按钮或页面,不成立隐藏或提示

  1.数据库

  创建表

  aspnet_Ex_PermissionsForRoles
  

  创建视图

  vw_aspnet_Ex_PermissionsForRoles

  

     创建存储过程

  aspnet_Ex_GetPermissionByRoles

  

代码
CREATE PROCEDURE [dbo].[aspnet_Ex_GetPermissionByRoles]
    
@roles                nvarchar(max)=NULL,
    
@path                nvarchar(max)=NULL
AS
BEGIN
    
SET NOCOUNT ON;

    
declare @sql nvarchar(2000)
    
set @sql='select * from [vw_aspnet_Ex_PermissionsForRoles] where RoleName in('+@roles+') and ModulePath='''+@path+''''
    
if @roles is not null
        
EXEC sp_executesql @sql
END

  数据库准备完毕
 

  下面是网站结构

  

   

  项目文件结构

  

  下一篇介绍相关代码

  

  目录

  扩展ASP.NET MEMBERSHIP权限功能(四 )之页面权限
  扩展ASP.NET MEMBERSHIP权限功能(三 )之权限控件
  扩展ASP.NET MEMBERSHIP权限功能(二 )
  扩展ASP.NET MEMBERSHIP权限功能(一 )

原文地址:https://www.cnblogs.com/hubj/p/1734447.html