在我的應用程序中添加,更新和刪除各種實體的能力通常由相關用戶之間定義的關係決定。這裏有一個例子:如何處理ASP.NET MVC 4/EF應用程序中的複雜授權?
- 基本用戶或他的上司可以創建與用戶相關聯的任務,但只有他的上司可以鎖定任務,使基本的用戶將不再能夠添加/更新/刪除它。在被鎖定之前,兩個人都可以更新任務。
什麼是實現這些類型的複雜和先進的規則處理與用戶的關係和實體的狀態(新的,現有的),以及像可能是定義的用戶,其他的事情,最好的方法與實體關聯的狀態?
感謝
在我的應用程序中添加,更新和刪除各種實體的能力通常由相關用戶之間定義的關係決定。這裏有一個例子:如何處理ASP.NET MVC 4/EF應用程序中的複雜授權?
什麼是實現這些類型的複雜和先進的規則處理與用戶的關係和實體的狀態(新的,現有的),以及像可能是定義的用戶,其他的事情,最好的方法與實體關聯的狀態?
感謝
在銀行我工作了,我們有這樣的讓整個銀行的層次結構看他們的報告結構貸款的貸款管理系統。例如,市場主管可以立即看到他/她的所有報告的貸款組合。此外,他/她有能力從所有報告的列表中選擇(直接或間接)名稱來查看該員工的組合。我們不得不維護報告結構的HR數據庫。一旦我們有了這些,我們就建立了用戶函數(也可以作爲存儲過程來完成,但用戶函數在我們的LINQ to SQL後端中運行良好)可以讓我們檢查用戶x是否監督用戶y。
因此,在您的示例中,只要您知道誰擁有該任務,並且有權訪問可用於確定任務所有者是否向當前登錄的用戶報告的方法,則應該能夠輕鬆啓用/禁用頁面上的「鎖定」按鈕。
合作就在於創建報告結構DB,並使其保持最新!
什麼是實現這些類型的複雜和先進的規則處理用戶的關係和實體的狀態(新的,現有的),以及像也許用戶其他的事情,最好的方法與實體關聯的定義狀態?
您想使用授權標準,即XACML,即可擴展訪問控制標記語言。 XACML是:
有了XACML,可以方便地實現關係例如爲:僱員可以批准交易,當且僅當交易金額<員工審批限制和交易沒有被鎖定。
下一步該怎麼辦?