2010-07-20 26 views
1

在面向企業業務的實際企業Web應用程序中,我們始終需要限制用戶單位和角色對數據的訪問。在ASP.NET Web應用程序中合併組織單位和業務角色

想象一下,我們有一家在一個國家有很多購物商店的企業公司。
因此,公司擁有總部,可查看所有分支機構的所有發票和統計數據。該國的每個地區管理和規劃其分支機構的地區銷售策略。然後,該地區的用戶也可以看到其分支機構創建的所有發票。每個分行都可以創建發票,客戶,並僅查看其數據。

我們可以看到,我們有兩個主要的訪問控制定義:

1-角色(這一直被認爲和許多年前implemeneted!):我們可以很容易地實現使用RoleProvider和控制訪問控制UI級別(web.config和sitemap.config)

2-單位及其與角色的關係拒絕/授予用戶對更新/查看數據的訪問權限。

我已經實現在ASP.NET定製主要以獲取用戶的單位和角色,但我覺得應該有一個經典的解決方案......

回答

0

檢查這些了:

http://netsqlazman.codeplex.com/discussions/352107

http://lostechies.com/derickbailey/2011/05/24/dont-do-role-based-authorization-checks-do-activity-based-checks/

這是我的解釋。

http://granadacoder.wordpress.com/2010/12/01/rant-hard-coded-security-roles/

............

的的MembershipProvider是基於角色......那是你的孩子的足球俱樂部不是一個專業DotNet應用程序。

有一個「中間地帶」的解決方法。

http://www.lhotka.net/weblog/CommentView,guid,9efcafc7-68a2-4f8f-bc64-66174453adfd.aspx

基本上。使用MembershipProvider ......但將單詞/短語「Role」視爲「正確」。 (在你mind..you不能改變對象的名稱中當然MS代碼)

洛基的果殼(從上面URL)

布爾結果= currentPrincipal.IsInRole(requiredPermission);

相關問題