2009-08-23 7 views
1

J'ai mis en œuvre un service WCF qui expose les opérations qu'un client Windows Forms consomme. Dans le service, j'utilise l'autorisation basée sur les revendications avec une AuthorizationPolicy personnalisée dans laquelle j'insère mon Claimset personnalisé basé sur l'identité principale avant l'exécution du code d'opération. Les opérations nécessitent alors certaines revendications dans l'ensemble de revendications pour être exécutées. Donc, étant donné cela, quelle est la meilleure façon d'obtenir l'ensemble personnalisé de revendications sur le client? J'en ai besoin pour que le client puisse faire des choses comme activer ou désactiver les boutons en fonction de la politique d'autorisation. Idéalement, le client aurait besoin de cette information avant d'appeler l'une des opérations (comme sur le formulaire). Est-ce que je crée une opération spéciale qui renvoie un objet Claimset rempli avec les revendications que le client peut utiliser pour les décisions d'interface utilisateur? Ou y a-t-il un meilleur motif intégré?Obtention de revendications sur le client

Répondre

1

Nous faisons cela comme deux appels au serveur.

Le premier est: L'utilisateur at-il les droits. Dans notre cas, nous envoyons une liste de droits, et nous obtenons une liste où chaque «droit» est marqué d'un vrai ou faux.

Le client utilise cette information pour dessiner l'interface utilisateur. Lorsque l'appel réel arrive, nous revérifions que l'utilisateur a le droit de faire l'appel, dans le cas où quelqu'un a passé l'interface utilisateur.

+0

Merci Shiraz. Donc, l'appel à évaluer les revendications est quelque chose que vous implémentez - il n'y a pas de façon intégrée de le faire? J'ai fini par faire quelque chose de similaire sauf que la méthode de service que j'ai créée renvoie le ClaimSet complet de cet appel. De cette façon, le client peut mettre en cache le ClaimSet du service et peut évaluer tout ce qu'il veut localement à tout moment sans avoir à effectuer d'appels de service supplémentaires. –

+0

Oui, l'appel à évaluer les réclamations est quelque chose que nous mettons en œuvre. –

Questions connexes