2010-05-21 8 views
0

Nous avons une solution SSO avec ADFS pour la connexion à notre application Web, nous avons également une configuration standard qui utilise l'authentification avec notre base de données. Je veux installer une solution qui permette les deux. Alors maintenant, j'essaie de comprendre, est-il possible pour ASP.NET de détecter si un utilisateur est authentifié avec Active Directory afin que je puisse le faire à la volée? Si l'utilisateur est connecté via AD, envoyer via ADFS, sinon, afficher l'écran de connexion. Une idée?ASP.NET - Détecter si l'utilisateur est authentifié avec Active Directory?

Je me rends compte que cela peut ne pas fonctionner s'ils sont configurés pour utiliser l'authentification basée sur des formulaires seulement après le processus ADFS est démarré.

Répondre

0

Oui ... Dans IIS, activez l'authentification intégrée, de base et anonyme. Tout le vrai travail est fait dans HTTPModule qui sont enregistrés dans la racine Web.config (par exemple dans le dossier CONFIG d'exécution). L'authentification intégrée HTTPModule définira le principe utilisateur une fois authentifié s'il est authentifié via des informations d'identification intégrées. Vous pouvez ajouter votre propre à être tiré après cela. Si le IIdentity (par exemple User.Identity) a la valeur IsAuthenticated sur false alors vous savez qu'ils n'ont pas été authentifiés et peuvent ensuite les rediriger. Si elle est définie sur true, vous pouvez remplacer IPrinciple par celui qui contient les rôles propres à votre application.