MVC ASP.NET - Manuellement autoriser quelqu'un et à la persistance de l'autorisation par l'intermédiaire des Formulaires d'Authentification

Je veux les avantages de l'authentification par formulaire dans ASP.NET. Je veux qu'il persiste, l'autorisation pour moi et, mais il y a une chose de différent à propos de ma situation; je veux s'authentifier auprès d'un service web simple (plus précisément fournie par le client).

J'ai mon code à la place de regarder le lieu web et de voir si elles devrait être autorisé, mais comment puis-je définir le cookie[?] ou d'une autorisation de drapeau ASP.NET qu'ils savent de l'utilisateur en cours est autorisé.

Essentiellement...

if (HttpContext.Current.User.Identity.IsAuthenticated)
//we're all good

//Other wise...
bool success = CheckClientsWebService(string username, string password);

if (success)
//Somehow tell .NET that they're authorized

*Note: Ceci est assez simple service qui ne traite pas avec des groupes ou des rôles. Simplement de vérifier si un utilisateur est ok pour afficher le site.

Sonne comme vous avez besoin d'un fournisseur d'appartenances personnalisé qui vérifie l'authentification dans votre base de données et également dans le service web. C'est cependant une telle solution simple que je pense que je manque quelque chose d'important, sinon vous serait évidemment venir avec cette solution sur votre propre.
Je n'ai même pas besoin d'une base de données à vérifier, je suis simplement à la recherche à un service web et de voir si le nom d'utilisateur/mot de passe est correct. Juste besoin de savoir comment persister que l'utilisateur est "authentifié".
Vous devez créer votre propre fournisseur d'appartenances et d'émettre des cookies d'authentification de formulaires. C'est une norme des choses.
Puisque vous n'avez pas besoin de traiter avec des groupes ou des rôles, envisager de réglage manuel de la FormsAuthenticationCookie. Voir stackoverflow.com/questions/7524136/... pour plus de détails.

OriginalL'auteur contactmatt | 2012-08-30