2011-06-03 3 views
0

Je suis nouveau à WIF - désolé à l'avance si mes questions semble être très basique ...Windows Identity Foundation authentification différente pour la section du site

J'ai un 1 WebSite permet de dire localhost qui nécessitent nom d'utilisateur/mot de passe d'authentification . L'accès à // localhost/ForSecuredClientsOnly doit nécessiter uniquement le certificat client pour accéder au site.
Les certificats clients AFAIK authenticaion sont gérés par IIS, comment puis-je gérer ce problème si je veux utiliser STS?

Mes idées:

  1. Utilisez 1 STS, définissez IIS à reconnaître le certificat (ne pas exiger) et lire certificat STS et de déterminer si l'utilisateur peut accéder à la ressource. Je lisais http://msdn.microsoft.com/en-us/library/ff359105(v=PandP.10).aspx et http://blogs.msdn.com/b/eugeniop/archive/2010/04/03/wif-and-mvc-how-it-works.aspx mais quand je suis déjà connecté à // localhost et j'essaie d'accéder // localhost/ForSecuredClientsOnly STS pense que je suis un utilisateur valide.
    Je retourne un nouveau résultat de redirection de ForSecuredClientsOnly (chemin de SignInRequestMessage, puisque l'utilisateur n'appartient pas au groupe X) mais le domaine est toujours: // localhost/(probablement le comportement attendu et la raison pour laquelle l'utilisateur est authentifié ...)
  2. Utilisez 2 STS et déplacez // localhost/ForSecuredClientsOnly vers //securedClients.localhost. Je n'aime pas vraiment l'idée d'avoir 2 STS si
  3. Avoir 1 STS et créer aux sites Web pointant vers le même STS.
    J'espère que dans STS, je vais voir que la requête de connexion va de différents domaines et ensuite exécuter le nom d'utilisateur/mot de passe de l'authentification du certificat client?
    Je préférerais également ne pas utiliser cette option, car ce n'est pas idéal si j'ai besoin de créer un nouveau site Web par section du site qui nécessite une authentification différente.

Questions:

  1. Je voudrais faire nombre d'idées 1 travail, mais comment puis-je passer différents royaume selon le lieu du paragraphe, je vois que je peux mettre HomeRealm la propriété sur SignInRequestMessage mais comment peut- Je l'ai lu plus tard dans STS? (User.Identity.IsAuthenticated est toujours true dans STS si je me suis déjà connecté à // localhost).
    Dois-je utiliser HomeRealm pour distinguer les sections de site?
  2. Si vous avez des idées, quelle est la meilleure approche pour lire et valider le certificat client dans STS s'il vous plaît faites le moi savoir.
    Actuellement, je pense que je devrais vérifier si la vignette de certificat est l'un des certificats que je permets - collection de la collection sur le certificat client Vignettes dans la base de données?

J'apprécie toute votre contribution.

Répondre

0

Je pense qu'il vaudra la peine d'examiner le projet communautaire Starter STS chez Codeplex.

Questions connexes