我正在構建幾個將共享數據庫的ASP.NET MVC網站(因爲它們共享數據庫中的數據)。也就是說,網站之間的登錄目前不會共享。作爲參考,我正在使用NHibernate進行數據訪問,使用SQL Server(目前)。需要ASP.NET身份驗證建議
按照當前規定,系統具有網站,角色,用戶和權利的表格。網站有一組用戶,權利和角色。用戶可以扮演很多角色。角色擁有一組權利。用戶將能夠使用用戶名和密碼登錄,但我不想讓自己陷入一個角落 - 我可能希望他們能夠稍後使用Google或Facebook登錄。
現在,我有點困惑,以確保網站的安全。我不喜歡老派的會員和角色提供者,原因有幾個。其中最主要的是我不會通過角色限制很多東西;基於用戶訪問權限,事物將受到限制。我正在查看以下幾種身份驗證方案。 1)我想能夠通過屬性指定使用控制器方法所需的權限。 2)我希望能夠快速查詢並查看用戶是否處於特定角色或具有特定權利。
所以,我實際上有一組問題,但它們有點相互纏繞。首先,我該怎麼做?只是一個自定義授權屬性?其次,什麼是登錄等工作流程?需要哪些步驟才能正確安全地工作?
我意識到這些都是不好意思的問題,但過去我已經習慣了舊的提供者的做事方式。我並不特別在意這一點,並且真的想要一些更好的建議。所以我想我的一切都是新的。
成員資格和角色是因爲他們利用大量的東西,我們需要偉大的,你總是可以創建一個[自定義成員和角色](http://stackoverflow.com/questions/5701673/custom-membershipprovider-in-net-4-0/5702000#5702000),你知道一個用戶可以有n個角色是正確的嗎?所以,如果你通過'controller'創建角色,那麼你將更容易完成你所需要的。 – balexandre