簡體   English   中英

查找WCF服務調用方的Active Directory域用戶名

[英]Find a WCF service caller's Active Directory domain username

考慮使用WsHttpBinding的WCF服務,只允許域用戶調用此服務。

如何找到呼叫者的Active Directory用戶名?

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

只要安全模式與綁定的None不同,使用哪種綁定無關緊要。

如果安全模式為NoneSystem.ServiceModel.ServiceSecurityContext.Current將為null

您可以通過以下方式獲取用戶的身份:

ServiceSecurityContext.Current.WindowsIdentity.Name

要么

OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name

您必須將某種用戶信息添加到用於聯系服務的消息結構中。

例如

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

這樣,您可以在客戶端查詢活動目錄,填充UserInformation對象並作為消息結構的一部分發送用戶詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM