30 March 2014

WCF Service Impersonation

This article explains about how to impersonate the service call, when client request for the operation.When client try to access the service resource, it does not have permission to do so. In this case, developer can impersonate the client request authorize to access the resource.
[Operation Behavior (Impersonation = ImpersonationOption.Allowed )]]
public string GetData(int value)
 {
    return string.Format("You entered: {0}", value);
 }
Impersonation takes three level of setting
  1. Not Allowed : This indicate the service should not auto-impersonate
  2. Allowed : automatically impersonate the caller whenever Windows authentication is used, but it has no effect with other authentication mechanisms
  3. Required: It makes sure that Windows authentication is used else it will throw exception.
Impersonate all operation:

Impersonation can be allowed for all operation by setting the service Authorization in service behavior section as shown below.
     <service Behaviors>
        <behavior name="Service Behavior">
          <serviceAuthorization impersonateCallerForAllOperations="true" />
        </behavior>
      </service Behaviors>


No comments:

Post a Comment