2010-09-03 67 views
1

我可以在沒有成員身份的情況下在ASP.NET中使用表單身份驗證。 即:ASP.NET FormsAuthentication和成員

FormsAuthentication.RedirectFromLoginPage(usuario.UsuDs, false);//usuario.UsuDS is the textbox username in login's form 

那麼我可以寫這樣的代碼:

 [Authorize(User="UserTest")] 
     public ActionResult Criar(Usuarios usuario) 
     { 
      try 
      { 
       ... 
      } 
       ... 
} 

而且只授權在especific意見 「UserTest」 用戶。 不過,我想這樣寫:

 [Authorize(Roles="Admin")] 
     public ActionResult Criar(Usuarios usuario) 
     { 
      try 
      { 
       ... 
      } 
       ... 
} 

,但我不能設置角色,不成員。

任何ideas設置並從ASP.NET沒有成員資格獲取角色?

回答

2

您當然可以使用沒有Membership的角色。事實上,在ASP.NET 2.0之前,我們根本沒有成員資格,garsh darnit,我們喜歡這種方式! ;-)

這是一篇文章,展示瞭如何在沒有成員身份的情況下實現角色:Role-Based Authorization With Forms Authentication。簡而言之,您必須編寫一些代碼,在用戶通過身份驗證後將角色分配給用戶。

快樂編程!

+0

我一直在使用該代碼一段時間了。簡單而有效。 – 2010-09-03 18:50:25

1

當然你可以 - Authorize元素只是詢問居住在HttpContext.Current.User屬性中的IPrincipal,它具有哪些角色。現在,如果你要說,將自己的定製校長填充到該對象中,可以非常容易地擁有角色等。