Limiter l'accès à un service WCF REST (webHttpBinding) à l'aide du fournisseur d'adhésion ASP.NET?

StackOverflow https://stackoverflow.com/questions/481090

Question

J'ai trouvé sur le Web de nombreux documents sur l'utilisation du fournisseur d'adhésion ASP.NET avec wsHttpBindings, mais je n'ai vu aucune référence à son utilisation avec webHttpBindings.

Je recherche un système qui fonctionnera dans deux scénarios:

  1. L'utilisateur est connecté à un site Web asp.net et ce dernier appelle le service.
  2. L'utilisateur accède au service directement via REST.

Est-ce possible en utilisant le framework intégré (c'est-à-dire juste à travers la configuration)? Si oui, comment configurer le service? Et comment l'utilisateur transmet-il les informations d'identification au service REST?

Était-ce utile?

La solution

La meilleure source que j'ai trouvée se trouve ici: http://www.leastprivilege.com/FinallyUsernamesOverTransutInHistoire .aspx

Le site contient également de nombreuses autres informations sur la configuration de modules HTTP pour gérer l’authentification de base (ce que je suppose que vous allez utiliser car c’est un peu la norme).

La méthode d'authentification du module HTTP est située sur Codeplex avec un exemple de code et tout ce qui est indiqué ici: http: //www.codeplex .com / CustomBasicAuth

Autres conseils

ADO.NET Data Services, vous voulez dire?

Vous pouvez créer un QueryInterceptor pour une entité et en limiter l’accès. Par exemple:

    [QueryInterceptor("foo_entity")]
    public Expression<Func<foo_entity, bool>> FilterMembership()
    {
        MembershipUser user = Membership.GetUser();
        Guid userGuid = (Guid)user.ProviderUserKey;
        return c => c.UserId == userGuid;
    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top