通用權限管理系統組件回答用戶的常用問題:操作權限、用戶角色、數據權限的解決方法


1. 頁面,通過權限控制某個頁面是否能顯示
2. 按鈕,通過權限控制某個頁面上的按鈕是否能顯示
3. 方法,通過權限控制某個方法(Service方法或者Server方法)是否能顯示
4. 數據行,通過權限控制某個用戶只能看到某幾行數據

 

回答1:這個是屬於菜單權限,所有的菜單都可以進行配置維護,然后通過 bs 中的 Utilities.GetUserPermissionList(userInfo); 函數可以獲取當前用戶所有能訪問的菜單List。

回答2:每個按鈕都可以編上一個編號,然后在頁面上調用 this.IsAuthorized("Project.Edit") 這個函數獲取到當前用戶是否有這個操作權限。按后按自己的意願無效或者不顯示處理。

回答3:是否允許調用某個方法,可以參考問題2,每個服務都編上一個號碼,調用更底層一點兒封裝的函數就可以了,轉到定義就可以找到了,permissionService.IsAuthorizedByUser。

回答4:this.UserInfo.CompanyId, this.UserInfo.SubCompanyId, this.UserInfo.DepartmentId, this.UserInfo.WorkgroupId 類似函數可以獲得當前用戶的所在公司等信息,

然后結合當前用戶是否在哪個角色 BaseUserManager.IsInRoleByCode的函數

在結合業務數據庫里的公司部門字段,拼接where sql語句就可以了,幾乎常用的行權限問題全搞定了,例如下圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM