2015-12-30 34 views

risposta

3

risorse Per autenticazione e rilasciata per http://docs.asp.net/en/latest/security/index.html

primo avvio un nuovo progetto di applicazione Web ASP.Net, scegliere il modello Web Application poi a destra premere il riquadro sul pulsante "Modifica autenticazione" e scegliere "Autenticazione di Windows".

È ora possibile utilizzare [Authorize] su una classe o un metodo per controllare l'autenticazione di base vs directory attiva come di RC2 si può semplicemente utilizzare i nomi dei gruppi di ala [Authorize([email protected]"DOMAIN\GROUP")]

L'ormai obsoleti e ingombranti alternativa (funziona ancora):

Se si guarda User.Claims è possibile vedere le chiavi dei gruppi esistenti per ciascun gruppo dell'utente. Partendo che si può fare qualcosa di simile [Authorize(Policy="FOOBAR")] e definirlo nel metodo Startup.ConfigureServices tramite

 services.AddAuthorization(
      o => o.AddPolicy(
       "FOOBAR", 
       p => p.RequireClaim("http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", 
        "ENTER GROUP SID") 
       )); 

Nota che il secondo parametro per RequireClaim è una matrice di stringhe per consentire la più gruppi.

noti inoltre di capire identificativi di gruppo tramite questa riga di comando magica dsquery group -name “ENTER GROUP NAME” | dsget group -sid

+0

Se l'utente non è autorizzato, come è possibile reindirizzare a non autorizzato View() ?? –

+0

@HariGillala di default getta semplicemente un http 500, gestendolo come qualsiasi altra pagina di errore personalizzata. Pubblica una domanda reale per informazioni specifiche. – Rick

+1

'[Autorizza (ruoli = @" DOMINIO \ GRUPPO ")]' sembra funzionare ora con RC2. – Jani