中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# ASP.NET 最常用的通用權限的3個方法例子展示(每個功能一行代碼實現)

發布時間:2020-06-14 15:22:50 來源:網絡 閱讀:398 作者:jirigala_bao 欄目:編程語言
C# ASP.NET 最常用的通用權限的3個方法例子展示。
在 UserPermission.aspx 的例子如下,原文件的位置如下圖:
 
C# ASP.NET 最常用的通用權限的3個方法例子展示(每個功能一行代碼實現)
 
參考代碼如下:
C# ASP.NET 最常用的通用權限的3個方法例子展示(每個功能一行代碼實現)C# ASP.NET 最常用的通用權限的3個方法例子展示(每個功能一行代碼實現)代碼
//------------------------------------------------------------
// All Rights Reserved , Copyright (C) 2010 , Jirisoft , Ltd. 
//------------------------------------------------------------

using System;
using System.IO;
using System.Data;

namespace DotNet.Web.Permission
{
    
using DotNet.Service;
    
using DotNet.Utilities;
    
using Jirisoft.Permission.Model;
    
using Jirisoft.Permission.Business;

    
/// <remarks>
    
/// UserPermission
    
/// 用戶當前權限的獲取例子
    
/// 
    
/// 修改紀錄
    
/// 
    
///    版本:1.0 2010.07.08    JiRiGaLa    寫好例子程序方便別人學習。
    
///    
    
/// 版本:1.0
    
/// <author>
    
///        <name>JiRiGaLa</name>
    
///        <date>2010.07.08</date>
    
/// </author> 
    
/// </remarks>
    public partial class UserPermission : BasePage
    {
        
protected void Page_Load(object sender, EventArgs e)
        {
            
// 當然是用戶需要登錄,否則哪里能知道,現在是判斷誰的權限啊?
            this.UserInfo = Utilities.Login("Jirigala_Bao@Hotmail.com", String.Empty);
            
            
// 1 判斷用戶是否有某個操作權限(在服務器上判斷)
            
// 訪問職員的×××列字段的操作權限
            string permissionItemCode = "Staff.Column.IDCard.Access";
            ServiceManager.Instance.PermissionService.IsAuthorizedByUser(
this.UserInfo, this.UserInfo.Id, permissionItemCode);

            
// 2 獲取用戶模塊菜單列表
            this.GetUserModules();

            
// 3 獲取用戶權限列表
            this.GetUserPermission();
        }

        
/// <summary>
        
/// 2 獲取用戶模塊菜單列表
        
/// </summary>
        private void GetUserModules()
        {
            
// 就一行代碼,就可以獲取當前用戶的所有可以訪問的模塊,然后自己想怎么處理就處理,例如變成樹形菜單等等
            DataTable dtUserModule = ServiceManager.Instance.PermissionService.GetModuleDTByUser(this.UserInfo, this.UserInfo.Id);
            
this.grvUserModules.DataSource = dtUserModule;
            
this.grvUserModules.DataBind();
        }

        
/// <summary>
        
/// 3 獲取用戶權限列表
        
/// </summary>
        private void GetUserPermission()
        {
            
// 就一行代碼,就可以獲取當前用戶的所擁有的權限列表
            DataTable dtUserPermission = ServiceManager.Instance.PermissionService.GetPermissionDTByUser(this.UserInfo, this.UserInfo.Id);
            
this.grvUserPermission.DataSource = dtUserPermission;
            
this.grvUserPermission.DataBind();
        }
    }
}


一:用戶可以訪問的模塊菜單(用戶-菜單,角色-菜單,用戶-角色,權限-菜單,菜單本身是否公開屬性,菜單的父子歸屬關系,菜單是否有效)按以上結合最終計算出所能訪問的菜單集合,當然對超級管理員進行優化處理,簡化權限判斷過程,提高程序運行效率
有一種方法是,一次性把用戶的所有權限都獲得,放在客戶端或者Seesion里。
另一種方法時,在服務器上判斷,當前用戶是否有某個權限。

 
Id ParentId Code FullName NavigateUrl
10000003   整體信息化系統 整體信息化系統  
10000005 10000004 FrmRequestAnAccount 申請用戶賬戶  
10000007 10000004 FrmStaffAddressEdit 我的聯系方式  
10000008 10000004 FrmStaffAddressAdmin 內部通訊錄  
10000015 10000004 Appliction 業務應用  
10000016 10000004 FrmMessageSend 發送消息  
10000017 10000004 FrmMessage 即時通訊  
10000022 10000004 FrmAboutThis 關于本軟件  
10000024 10000004 FrmUserChangePassword 修改密碼  
10004099 10004141 用戶下訂單 用戶下訂單 Modules/Convenience/YongHuDingDan/YongHuDingDanTianJia.aspx
10004100 10004141 用戶訂單確認 用戶訂單確認 Modules/Convenience/YongHuDingDan/YongHuDingDanDaiQueRen.aspx
10004101 10004142 訂單狀態查詢 訂單配額審核查詢 Modules/Convenience/YongHuDingDan/YongHuDingDanPeiEYiQueRen.aspx
10004102 10004140 歷史訂單 歷史訂單 Modules/Convenience/YongHuDingDan/YongHuDingDanChaXun.aspx
10004103 10004183 訂單到貨確認 訂單到貨確認 Modules/Convenience/YongHuDingDan/YongHuDingDanDaoHuoQueRen.aspx
10004140 10004150 CSa01 訂單管理 Modules/Convenience/YongHuDingDan/YongHuDingDanYiQueRen.aspx
10004141 10004140 用戶訂單 用戶訂單 Modules/Convenience/YongHuDingDan/YongHuDingDanYiQueRen.aspx
10004142 10004140 訂單狀態 訂單狀態 Modules/Convenience/YongHuDingDan/YongHuDingDanPeiHuoYiQueRen.aspx
10004144 10004142 訂單結算狀態查詢 訂單結算狀態查詢 Modules/Convenience/YongHuDingDan/YongHuDingDanJieSuanYiQueRen.aspx
10004145 10004142 訂單配貨狀態查詢 訂單配貨狀態查詢 Modules/Convenience/YongHuDingDan/YongHuDingDanPeiHuoYiQueRen.aspx
10004148 10004102 訂單統計匯總 歷史訂單查詢 Modules/Convenience/YongHuDingDan/YongHuDingDanChaXun.aspx
10004150 10000003 終端功能 終端功能  
10004176 10004141 用戶已確認訂單 用戶已確認訂單 Modules/Convenience/YongHuDingDan/YongHuDingDanYiQueRen.aspx
10004183 10004140 訂單到貨 訂單到貨 Modules/Convenience/YongHuDingDan/YongHuDingDanDaoHuoQueRen.aspx
10004410 10004141 用戶已取消訂單 用戶已取消訂單  
10004429 10000004 FrmCodeBuilder 代碼生成器  

 

 


二:用戶所擁有的權限列表(用戶-權限,角色-權限,權限本身是否公開屬性,權限的父子歸屬關系,權限是否有效)按以上結合最終計算出所擁有的權限集合
Id ParentId Code FullName
10000259 0 PermissionAdmin 通用權限解決方案
10000560 10000259 A系統權限配置 A系統權限配置
10000564 10000560 ASystem.Admin.Access A系統訪問權限
 

三:當前用戶是否有某個權限的判斷(用戶本身是否超級管理員?)。

            // 1 判斷用戶是否有某個操作權限(在服務器上判斷)
            // 訪問職員的×××列字段的操作權限
            string permissionItemCode = "Staff.Column.IDCard.Access";
            ServiceManager.Instance.PermissionService.IsAuthorizedByUser(this.UserInfo, this.UserInfo.Id, permissionItemCode);
 

設置asp.net通用權限的界面參考如下:

C# ASP.NET 最常用的通用權限的3個方法例子展示(每個功能一行代碼實現)

C# ASP.NET 最常用的通用權限的3個方法例子展示(每個功能一行代碼實現)

C# ASP.NET 最常用的通用權限的3個方法例子展示(每個功能一行代碼實現)

 

C/S的權限配置管理工具 是提供給項目實施人員使用的,在項目開發的前期是給系統架構師用的。

在數據庫管理維護過程中,C/S的配置管理工具是給數據庫管理員用的。

用戶在管理使用過程中,C/S的配置管理工具是給信息管理員用的。

在軟件開發階段,C/S的管理配置工具是給開發人員項目經理測試人員用的。

在開發階段,底層的API,接口函數是給開發人員調用的。

在售前,給客戶演示時,C/S的管理配置工具是給客戶展示實力用的。

在售前,通用權限管理說明文檔是市場銷售人員給客戶寫方案用的。

 

ASP.NET C#通用權限管理系統,是軟件公司老板防止開發人員每個人搞一套,是為了提高公司的軟件開發類項目互相兼容性差,互相集成性。同時是可以達到快速見效,有個牢靠的底層,防止開發人員流動、走失后導致整個項目亂套用的。使用成熟的組件,可以提高工作效率,可以有效積累勞動成果,防止在沒必要的事情上瞎折騰,浪費時間,浪費生命。

 

只有執著追求,把一個方向做深做精,做個徹底,才會有希望才能更上一層樓。通用權限管理組件使用說明書V3.0.doc

有1000000人會開發管理軟件,但是可能只有100000人會開發成熟的權限系統,只有10000個人能開發出完善的工作流。

 

 

 

將權限管理、工作流管理做到我能力的極致,一個人只能做好那么很少的幾件事情。
 
向AI問一下細節
推薦閱讀:
  1. C# 環境
  2. C#源碼500份

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南康市| 全南县| 汝阳县| 达拉特旗| 远安县| 佛教| 甘洛县| 吉隆县| 岐山县| 西峡县| 泰兴市| 和静县| 府谷县| 商洛市| 甘谷县| 昭通市| 收藏| 和林格尔县| 三原县| 丰原市| 京山县| 边坝县| 平陆县| 田林县| 唐河县| 徐州市| 蒙城县| 禄丰县| 黄骅市| 汝城县| 开封市| 灵武市| 贵州省| 晋中市| 琼海市| 丹寨县| 丰县| 县级市| 兴海县| 东源县| 亳州市|