2009-07-31 12 views
11

Jaki jest kod określający, czy użytkownik jest w roli?członkostwo asp.net - jak określić programowo użytkownik jest w roli

Skonfigurowałem wszystkich użytkowników za pomocą karty Zabezpieczenia konfiguracji ASP.NET, ale teraz chcę umieścić logikę wokół niektórych kluczowych obszarów, tak aby tylko osoby w określonych rolach mogły widzieć i uzyskiwać dostęp do tych obszarów.

Odpowiedz

22
if (User.IsInRole("rolename")) { 
    // my action 
} 
+0

do jakiej przestrzeni nazw należy użytkownik? – leora

+3

Użytkownik jest własnością klas Page i HttpContext, więc można uzyskać do niego dostęp na stronie po prostu jako Użytkownik lub w pliku bezstron jako HttpContext.Current.User. Więcej informacji na MSDN: http://msdn.microsoft.com/en-us/library/system.web.httpcontext.user.aspx –

2

Sprawdź klasie Roles konkretnie isUserInRole, GetUsersInRole, AddUserToRole itp

używam ich cały czas.

8

Łatwy ~

HttpContext.Current.User.IsInRole("roleName") 
+0

ten kod będzie wyglądać do bazy danych sql (to mój dostawca), aby określić rolę w asp. netto? – leora

+1

Tak, zajmie się tym, który dostawca został skonfigurowany. –

+0

Muszę uwielbiać dostawców :) – BigBlondeViking

2

dzięki "Chris Van Opstal". w ten sposób rozwiązałem mój problem,

public ActionResult Index() 
    { 

     if (User.IsInRole("Supervisor")) 
     { 
      return RedirectToAction("Index", "InvitationS"); 
     } 
     return View(); 
    } 
Powiązane problemy