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
1
A
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.
Questions connexes
- 1. Mise en œuvre de la sécurité basée sur les revendications (WCF/ASP.NET)
- 2. Obtention de l'adresse IP du client via ALUI Portal Gateway
- 3. Mono - code de partage sur le client et le serveur. .
- 4. remoting - informations sur le client. C#
- 5. regardant les commandes client sur le serveur
- 6. Obtention d'une liste de locaux sur l'iPhone
- 7. Détails de l'exception de ASP.NET PageMethods sur le côté client
- 8. Fermeture de la connexion sur le client de service Web
- 9. Obtention des modifications OnClientClick d'ASP.NET ImageButton sur le serveur
- 10. SQL Client sur Android
- 11. Où sont stockés les ID de session sur le client
- 12. Construction d'un client de messagerie Pop3 (basé sur le Web)
- 13. Obtention d'informations sur l'exposition de photos sur l'iPhone
- 14. ASP.NET AJAX et le format DateTime sur le client
- 15. Spécification des types de revendications requis/facultatifs dans la partie utilisatrice pour un STS passif
- 16. .NET Client Profile sur x64
- 17. Blocs client http sur recv()
- 18. Problème SQL Compact après l'installation sur le client Vista
- 19. utilisant NetDataContractSerializer lance une exception sur le côté client
- 20. Comment obtenir un identifiant client unique sur le serveur?
- 21. WCF Auto-hébergement sur le client? Bon ou mauvais
- 22. Filtrage des données JSON sur le navigateur/client
- 23. Authentification du certificat WCF sans installation sur le client
- 24. setSoTimeout sur un socket client n'affecte pas le socket
- 25. Des hachages/tableaux XML vers JavaScript sur le client
- 26. Comment lier les extendeurs aux contrôles sur le client
- 27. Obtention de la valeur d'un DropDownList après une modification javascript côté client
- 28. Obtention d'un chemin RSS ou ATOM par défaut à partir de WCF, Client uniquement
- 29. Comment puis-je convertir un tableau sur le client en un octet [] sur le serveur?
- 30. Obtention d'informations sur les erreurs de pipeline dans BAM
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. –
Oui, l'appel à évaluer les réclamations est quelque chose que nous mettons en œuvre. –