2011-02-01 98 views

回答

14

獲取System.ServiceModel.ServiceSecurityContext.Current.WindowsIdentity.Name屬性的值。

只要安全模式與綁定的None不同,使用哪種綁定就沒有關係。

如果安全模式是None那麼System.ServiceModel.ServiceSecurityContext.Current將是null

+1

不知道這個... + 1 – jcvandan 2011-02-01 11:21:36

9

你可以通過調用獲取用戶的身份:

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; } 
} 

這樣你就可以在你的客戶端查詢Active Directory,填充UserInformation對象,併發送了用戶信息的消息結構的一部分。