2012-10-18 3 views
0

Nous avons deux applications Web héritées existantes, l'une pour l'intranet utilisant l'authentification Windows dans le domaine, et l'autre pour une application Internet. authentification par mot de passe. Maintenant, une nouvelle application Web est développée et sera disponible sur Internet pour les utilisateurs d'Internet et d'intranet, en gérant les deux modèles d'authentification. Par conséquent, nous avons décidé d'utiliser WIF. Nous allons pour ASP.NET 4.5 MVC 4 sur Windows Server 2012.Authentification de nom d'utilisateur et de mot de passe pour WIF (Windows Identity Foundation) dans ASP.NET MVC

L'authentification intranet ne devrait pas poser de problème car nous pouvons utiliser ADFS 2.0 ici.

Mais nous n'avons actuellement aucune idée de comment résoudre le nom d'utilisateur + mot de passe d'authentification. Il semble que nous devions développer un UserNameSecurityTokenHandler personnalisé pour authentifier les utilisateurs qui fournissent des informations de nom d'utilisateur + mot de passe qui sont vérifiées par rapport à notre fournisseur d'appartenances personnalisées. Mais j'ai besoin d'aide avec tout le flux de travail ...

Supposons que nous ayons une page de connexion personnalisée pour les utilisateurs Internet; et supposons que nous ayons réussi à router les internautes vers cette page de connexion (dans ASP.NET MVC), quelle est la partie manquante d'ici à un jeton valide? Comment le formulaire ou l'action du contrôleur MVC ayant reçu le nom d'utilisateur + mot de passe fourni déclencherait-il le fournisseur d'identité WIF configuré?

Répondre

2

La solution la plus élégante serait de créer un autre STS pour les utilisateurs externes et ont ADFS confiance cela comme un fournisseur d'identité:

enter image description here

Les utilisateurs externes seront redirigés vers les IdP STS qui utiliserait la base de données usr/pwd. Les utilisateurs internes s'authentifieront via ADFS directement (contre AD).

Dans ce scénario, ADFS agit à la fois comme un fournisseur d'identité et un fournisseur de fédération . Pour que cela fonctionne, vous devez disposer à la fois d'ADFS et de l'IdP (et de l'application) exposés à Internet. Un STS que vous pouvez utiliser pour tirer parti de l'adhésion est IdentityServer, qui est open source et vous pouvez bien sûr personnaliser pour vos besoins.

Avec cette architecture, vous n'avez pas besoin de personnalisations/extensions spéciales dans l'application. Cependant, vous devrez gérer la «découverte du domaine d'origine». Quel est le processus de savoir où authentifier les utilisateurs sur (par exemple intranet vs extranet). Vraisemblablement, vous pourriez avoir des URL différentes, etc.

+0

Le serveur d'identité est superbe, je verrai si nous pouvons l'utiliser. Merci quatre votre aide – thmshd

+0

Merci, j'ai finalement accepté, même si nous avons décidé de ne pas aller avec IdentityServer, mais cela m'a indiqué la bonne direction en ce qui concerne ce sujet – thmshd

+0

qui était ..... – Wilky

Questions connexes