2012-08-08 116 views
0

我們的MVC3應用程序使用流利的NHibernate並需要實現用戶登錄,身份驗證和授權。如何使用流暢的NHibernate在MVC3中實現基於角色的授權?

我見過在控制器類中使用[Authorize]方法的文章。然而,我不確定這是如何在我們的情況下工作,因爲流利的NHibernate正在使用。

任何人都可以分享一些關於如何使這項工作的建議嗎?

回答

2

你可以write a custom role provider實現RoleProvider類。在您的RoleProvider類的自定義實現中,您可以使用任何您想要的數據庫訪問技術 - FluentNhibernate或其他。基本上你有興趣實施IsUserInRole方法。

然後裝飾與授權屬性你的控制器/動作:

[Authorize(Roles = "Admin")] 
public ActionResult Foo() 
{ 
    return Content("Only administrators can see this message"); 
} 

而這裏的另一個blog post覆蓋寫入更詳細的自定義角色提供商。

相關問題