擴充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許可權功能(一 )