2011-02-01 5 views

答えて

14

System.ServiceModel.ServiceSecurityContext.Current.WindowsIdentity.Nameプロパティの値を取得します。

バインディングのセキュリティモードがNoneと異なる限り、どのバインディングを使用するかは関係ありません。

セキュリティモードがNoneの場合、System.ServiceModel.ServiceSecurityContext.Currentnullになります。

+1

これについて知りませんでした... + 1 – jcvandan

9

あなたは呼び出すことにより、ユーザーのIDを取得することができます:

ServiceSecurityContext.Current.WindowsIdentity.Name 

または

OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name 
-4

サービスに連絡するために使用しているメッセージ構造に、ある種のユーザー情報を追加する必要があります。

public class UserInformation 
{ 
    public string User { get; set; } 
    public string Password { get; set; } 
} 

[DataContract] 
public class Request 
{ 
    [DataMember] 
    public UserInformation User { get; set; } 
    [DataMember] 
    public MyRequest RequestBody { get; set; } 
} 

この方法であなたは、あなたのクライアント側でアクティブディレクトリを照会ユーザ情報オブジェクトを移入し、メッセージ構造の一部として、ユーザーの詳細を介して送信することができます。

関連する問題