Domanda

Ho un po 'di una situazione ibrida tra le mani. Sto scrivendo un'app Web Intranet asp.net. Non voglio utilizzare l'autenticazione di Windows completa, perché non ho gruppi appropriati impostati in Active Directory per essere in grado di autenticare gli utenti semplicemente in base al gruppo in cui si trovano. Fino ad ora, avevo creato un database di appartenenza e autenticava manualmente gli utenti in base al loro accesso NT. L'app sta diventando più complessa e sto cercando di utilizzare i provider di appartenenza e ruoli per autenticare gli utenti. Ecco il mio problema: voglio essere in grado di autenticare gli utenti solo in base al loro NT, ma non voglio usare l'autenticazione di Windows. Voglio scrivere il mio provider per collegarmi ai provider di appartenenza e ruoli e utilizzare l'autenticazione Form, ma renderlo trasparente. Basato su una tabella Users, voglio essere in grado di autenticare l'utente o reindirizzarlo in base al solo NT. È possibile o sono bloccato a scrivere il mio piccolo framework per ottenere questo risultato? Vorrei sfruttare il framework dei provider, se possibile.

È stato utile?

Soluzione

Imposta web.config per utilizzare l'autenticazione moduli.
Assicurarsi che l'autenticazione integrata sia attivata in IIS (potrebbe essere necessario disabilitare anche l'anonimo). Ciò ti consentirà di ottenere il nome NT dell'utente.

Puoi ottenere il nome NT dell'utente con:

  Request.ServerVariables["LOGON_USER"]  

Puoi accedere all'utente, senza password, con:

  FormsAuthentication.RedirectFromLoginPage( userName, false ); 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top