2013-05-07 58 views
1

首先,我想說我知道有很多這方面的話題,我也在網上搜索,瞭解mvc處理安全性和保留用戶信息等的整個概念,但我想從專業人士那裏得到一些建議和想法,而我正在閱讀這篇文章,所以我要解釋我的情況,我很感謝幫助。對自定義數據庫的MVC4認證和授權

可以說我有一個名爲「用戶」

public class Users : KySerializableObject 
{  
    [required] 
    public virtual string Email { get; set; } 

    [required] 
    public virtual string userName {get; set; } 

    public virtual UserType UserType { get; set; } 
    [Required] 
    [ForeignKey("UserType")] 
    public virtual int UserTypeID { get; set; } 
} 
現在

我所知道的是,MVC提供了適用於簡單的情況下,一個simpleMembership定製表,但因爲我有不同類型的用戶和爲我的用戶提供的其他信息,我想知道的是,如何爲具有不同角色的用戶使用[authorize]標籤,我更喜歡使用我自己的角色表,以及我如何處理登錄過程?我的意思是我應該使用FormsAuthentication的一部分,或者我甚至不確定我是否應該使用它,我真的迷路了,我很樂意聽到你們的建議。我不是要求代碼或任何東西,任何鏈接到一個良好的指導,解釋我的情況將是非常棒的。

再次感謝

回答

0

我有同樣的情況,我下面的 驗證Forms身份驗證 授權我寫我自己的包裝類RoleProvider的過程。這樣,你可以直接使用像

[授權(規則=「管理,用戶」)]

如果你的問題是認證/授權它會幫助你完美。

0

Please take a look at this forum discussion in the ASP.Net forum

如果您發現身份驗證的方式,你應該已經在這裏釘的代碼。但是,對於您的要求,請大家仔細看這段代碼

string[] roles = //you add your custom roles for the current user to this string list 
GenericPrincipal userPrincipal = new GenericPrincipal(new GenericIdentity(authTicket.Name), 

角色); //然後創建一個通用的原則

Context.User = userPrinciple; 

記住,如果你正在外面把這個代碼Global.asax文件中,然後ContextHttpContext.Current

現在你可以使用[Authorize(Roles = "yourRole1, yourRole2")]

希望有所幫助。