2008-10-16 12 views
14

Próbuję zrobić coś prostego (myślałem) - zabezpieczając swoją aplikację przy użyciu zabezpieczeń opartych na rolach przy użyciu grup usługi Active Directory w naszej domenie.Asp.Net Uwierzytelnianie oparte na rolach przy użyciu grup zabezpieczeń w usłudze Active Directory

W szczególności muszę pokazać/ukryć elementy na stronie w zależności od tego, czy aktualnie zalogowany użytkownik jest częścią domain\groupA w usłudze Active Directory. Z jakiegoś powodu trudno jest znaleźć informacje na temat korzystania z usługi Active Directory. Wszystko, co wydaje mi się znajdować, idzie w szczegóły dotyczące korzystania z uwierzytelniania opartego na formularzach z wykorzystaniem ról lub używa bazy danych do przechowywania informacji.

Wszystko, co chcę zrobić, to użyć naszej już zarysowanej struktury bezpieczeństwa w naszym Active Directory. Czy ktoś może mi wyjaśnić, czego potrzebuję?

Czy muszę:

  1. <roleManager enabled="true"/> w web.config
  2. <allow roles ="domain\groupA"/> w web.config
  3. IIS ustawiony na Windows Authentication
  4. if (User.IsInRole(@"domain\groupA")){ //do stuff } w moją stronę?

Czego jeszcze brakuje? Byle co? ponieważ nie działa. heh.

Dziękuję wszystkim za pomoc.

Odpowiedz

22

Najprawdopodobniej wystarczy dodać RoleProvider do pliku web.config, aby poinformować aplikację, jak wyszukiwać AD.

Przykładowy kod z here.

<roleManager defaultProvider="WindowsProvider" 
    enabled="true" 
    cacheRolesInCookie="false"> 
    <providers> 
    <add 
     name="WindowsProvider" 
     type="System.Web.Security.WindowsTokenRoleProvider" /> 
    </providers> 
</roleManager> 
Powiązane problemy