2008-10-13 9 views
0

J'ai une situation un peu hybride entre les mains. J'écris un intranet asp.net web app. Je ne souhaite pas utiliser l'authentification Windows complète, car je n'ai pas configuré de groupes appropriés dans Active Directory pour pouvoir authentifier les utilisateurs simplement en fonction du groupe dans lequel ils se trouvent. Jusqu'à présent, j'avais créé une base de données d'appartenance. et authentifiait manuellement les utilisateurs en fonction de leur connexion NT. L'application devient de plus en plus complexe et je cherche à utiliser les fournisseurs Membership et Roles pour authentifier les utilisateurs. Voici mon problème: je veux être en mesure d'authentifier les utilisateurs en fonction de leur NT, mais je ne veux pas utiliser l'authentification Windows. Je veux écrire mon propre fournisseur pour me connecter aux fournisseurs d'appartenances et de rôles, et utiliser l'authentification par formulaire, mais le rendre transparent. Basé sur une table Utilisateurs, je veux être en mesure d'authentifier l'utilisateur ou de les rediriger en fonction de leur NT seul. Est-ce possible, ou suis-je en train d'écrire mon propre petit cadre pour y parvenir? Je voudrais profiter du cadre de fournisseur si possible.Authentification de formulaires ASP.NET avec seulement le nom d'utilisateur

+0

Quelles sont les failles spécifiques de l'authentification Windows que vous essayez de surmonter ? (La même question pour votre base de données d'adhésion personnalisée.) – Greg

Répondre

7

Définissez votre fichier web.config pour utiliser l'authentification par formulaire.
Assurez-vous que l'authentification intégrée est activée dans IIS (vous devrez peut-être également désactiver l'authentification anonyme). Cela vous permettra d'obtenir le nom NT de l'utilisateur.

Vous pouvez obtenir avec le nom NT de l'utilisateur:

Request.ServerVariables["LOGON_USER"] 

Vous pouvez connecter l'utilisateur, sans mot de passe, avec:

FormsAuthentication.RedirectFromLoginPage(userName, false); 
Questions connexes