programmatique de connexion avec .net fournisseur d'appartenances
Je suis en train de test de l'unité d'un morceau de code qui a besoin d'un utilisateur actuellement connecté dans le test. À l'aide de l' .Net 2.0 Fournisseur d'appartenances, comment puis-je par programmation connectez-vous en tant qu'utilisateur de ce test?
Votre code réellement besoin d'un utilisateur connecté via ASP.NET ou est-il juste besoin d'un CurrentPrincipal? Je ne pense pas que vous avez besoin de programmation pour vous connecter à votre site. Vous pouvez créer un GenericPrincipal, définissez les propriétés dont vous avez besoin, et de le joindre, par exemple du Fil.CurrentPrincipal ou un moqué HttpContext. Si votre code a réellement besoin RolePrincipal ou quelque chose, alors je voudrais modifier le code pour être moins couplée à ASP.NET l'adhésion.
J'ai besoin de l'appeler à l'Adhésion.GetUser() pour renvoyer l'utilisateur actuellement connecté. Ne pas appeler à l'Adhésion.GetUser() directement dans la classe sous test. L'approvisionnement de la classe avec un IGetUser dans la création, l'utiliser à la place de l'Adhésion.GetUser(), puis faites une simulation de la mise en œuvre de IGetUser pour les tests.
À l'aide de votre Fournisseur d'appartenances vous pouvez valider un utilisateur à l'aide de l'Adhésion.ValidateUser. Ensuite, vous pouvez définir le cookie d'authentification à l'aide de FormsAuthentication.SetAuthCookie. Tant que vous disposez d'un cookie contenant ce qui devrait vous permettre de vous connecter à un utilisateur.
OriginalL'auteur
Je l'ai trouvé plus pratique de créer un revenu de la classe qui gère la configuration et réinitialisation de Fil.CurrentPrincipal.
Dans la méthode d'essai vous juste envelopper de votre appel à l'aide de déclaration comme ceci:
OriginalL'auteur user31934
Votre code réellement besoin d'un utilisateur connecté via ASP.NET ou est-il juste besoin d'un CurrentPrincipal? Je ne pense pas que vous avez besoin de programmation pour vous connecter à votre site. Vous pouvez créer un GenericPrincipal, définissez les propriétés dont vous avez besoin, et de le joindre, par exemple du Fil.CurrentPrincipal ou un moqué HttpContext. Si votre code a réellement besoin RolePrincipal ou quelque chose, alors je voudrais modifier le code pour être moins couplée à ASP.NET l'adhésion.
Ne pas appeler à l'Adhésion.GetUser() directement dans la classe sous test. L'approvisionnement de la classe avec un IGetUser dans la création, l'utiliser à la place de l'Adhésion.GetUser(), puis faites une simulation de la mise en œuvre de IGetUser pour les tests.
OriginalL'auteur Craig Stuntz
À l'aide de votre Fournisseur d'appartenances vous pouvez valider un utilisateur à l'aide de l'Adhésion.ValidateUser. Ensuite, vous pouvez définir le cookie d'authentification à l'aide de FormsAuthentication.SetAuthCookie. Tant que vous disposez d'un cookie contenant ce qui devrait vous permettre de vous connecter à un utilisateur.
OriginalL'auteur Rune Grimstad