I have implemented a WCF service that exposes operations that a Windows Forms client consumes. In the service, I am using claims-based authorization with a custom AuthorizationPolicy in which I insert my custom Claimset based on the principal identity before the operation code runs. The operations then require certain Claims within the Claimset in order to run.
So, given this, what is the best way to get the custom set of Claims on the client? I need this so that the client can do things like enable or disable buttons based on the authorization policy. Ideally, the client would need this information in advance of calling any of the operations (like on form load). So do I create a special operation that returns a Claimset object populated with the Claims that the client can use for UI decisions? Or is there some better built in pattern?