我們有幾個需要角色/用戶/權限安全模型的項目(ASP.NET MVC)。我們希望將這些數據保存在數據庫的表格中。如何建議我們使用ASP.NET MVC項目來實現這個安全模型?使用自定義authroization屬性來確定用戶是否通過與數據庫中的數據模型進行交互來授權?ASP.NET MVC安全模型/數據庫 - 我有什麼選擇?
是否有第三方/開源選項可用?
我們有幾個需要角色/用戶/權限安全模型的項目(ASP.NET MVC)。我們希望將這些數據保存在數據庫的表格中。如何建議我們使用ASP.NET MVC項目來實現這個安全模型?使用自定義authroization屬性來確定用戶是否通過與數據庫中的數據模型進行交互來授權?ASP.NET MVC安全模型/數據庫 - 我有什麼選擇?
是否有第三方/開源選項可用?
如果您願意使用實體框架,那麼有一個MVC的EF成員資格提供程序。 這裏http://efmembership.codeplex.com/
我使用犀牛安全複雜的MVC網站,並喜歡它。
http://ayende.com/Blog/archive/2008/01/22/Rhino-Security-Overview-Part-I.aspx
安全通話結束這樣看:
permissionBuilderService
.Allow("/[Controller]", 1)
.For("GAAdmins", 1)
.OnEverything()
.DefaultLevel()
.Save();
authorizationRepository.AssociateUserWith(user, "GAAdmins");
if (authService.IsAllowed(user, "/[Controller]/[Action]"))
...;
我走近這是反思的控制器操作的方式,我還是用正常的asp.net成員資格提供,但隨後有一個存儲我所有控制器/操作的動作表。
其次,我創建了一個基本控制器,並在基本控制器上添加了authorize屬性,然後重寫授權「事件」,並在那裏檢查用戶是否有權訪問該特定操作,我在onactionexecuting中做了同樣的操作。
您是否在內置的Membership/Authorization提供程序中遇到問題?如果他們不符合法案,您可以實現自己的:http://msdn.microsoft.com/en-us/library/f1kyba5e.aspx – mxmissile 2011-02-03 20:18:02
內置的提供程序是否處理權限?例如,用戶可以是具有「讀取」和「寫入」權限的角色「訪客」的成員。當使用角色訪問某些文件夾,控制器和方法時,內置提供者看起來工作得很好,但我沒有看到任何檢查他們是否具有某種權限的東西。我希望能夠編寫「如果UserHasPermission(」刪除「),它將自動確定他們的角色是否具有該權限。我也不確定如何使用他們的管理工具添加權限。 – Jeff 2011-02-03 21:23:08