リクエスタのドメイン名または完全なURLはどのように入手できますか?WCFリクエストのドメイン名を取得しますか?
答えて
は、私はあなたの質問を理解していることをわからないんだけど、あなたはサービス操作への呼び出しを行うWindowsユーザーのドメイン名が必要な場合は、この使用:
OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name
この戻ります「{ドメイン} \ {ユーザー名} "
これを試してみて、私はあなたが(おそらくMSTESTプロジェクトにこのコードを貼り付けしたいと思う)何を聞かせ:
[TestClass]
public class AlternativeCredentials
{
// Contracts
[ServiceContract]
interface IMyContract
{
[OperationContract]
string GetUserName();
}
// Service
[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
class MyService : IMyContract
{
public string GetUserName()
{
return OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name;
}
}
// Client
class MyContractClient : ClientBase<IMyContract>, IMyContract
{
public MyContractClient() { }
public MyContractClient(Binding binding, string address) :
base(binding, new EndpointAddress(address)) { }
public string GetUserName()
{ return Channel.GetUserName(); }
}
#region Host
static string address = "net.tcp://localhost:8001/" + Guid.NewGuid().ToString();
static ServiceHost host;
[ClassInitialize()]
public static void MyClassInitialize(TestContext testContext)
{
host = new ServiceHost(typeof(MyService));
host.AddServiceEndpoint(typeof(IMyContract), new NetTcpBinding(), address);
host.Open();
}
[ClassCleanup()]
public static void MyClassCleanup()
{
if (host.State == CommunicationState.Opened)
host.Close();
}
#endregion
[TestMethod]
public void UseUserNameCredentials()
{
using (MyContractClient proxy =
new MyContractClient(new NetTcpBinding(), address))
{
proxy.ClientCredentials.UserName.UserName = "MyUsername";
proxy.ClientCredentials.UserName.Password = "MyPassword";
proxy.Open();
Assert.AreEqual("EMS\\magood", proxy.GetUserName());
proxy.Close();
}
}
}
これを試してみます。ありがとう – DDiVita
これについて数分考えた後、私は実際のサービスのセキュリティを習得していません。このメソッドを呼び出すと、プロセスを実行しているユーザーが何人いるかがわかりますか?サービスを実行しているシステムアカウントのドメイン名/ユーザー名が表示されると思います。右? – DDiVita
上記の例では、 "EMS \ magood"は私のWindows IDです。 WCFの既定値はClientCredentialType = Windowsです。これを[TCPバインディングの基本]に変更できます。どのようなバインディングを使用していますか? –
- 1. ドメイン名とサフィックスを取得します。
- 2. WCFサービスWSDLドメイン名
- 3. ASP.Netはlocalhostではなくドメイン名を取得しますか?
- 4. ドメインDNS名からドメインsidを取得するには?
- 5. IFrameのドメインを取得しますか?
- 6. RESTFulアーキテクチャ別のドメインからリクエストを取得する
- 7. GETドメイン名Djangoのリクエスト
- 8. ドメイン名を取得する方法
- 9. express.jsのないドメイン名を取得
- 10. Openshift - MySQLデータベースのドメイン名を取得
- 11. UserPrincipalまたはPrincipalSearcherからドメイン名を取得する方法
- 12. SOAPサーバーでドメイン名を取得
- 13. WCFサービスメソッドへのリクエストを取得できません
- 14. プリントスプーラAPIからプリントジョブのユーザのドメイン名を取得する
- 15. 現在のリクエストのドメインを取得するには?
- 16. Javaサーブレットのリクエストからドメイン名を取得するにはどうすればよいですか?
- 17. Windows APIからコンピュータのドメイン名を取得する
- 18. Ajaxリクエストの発信元ドメインを取得する
- 19. WCFデータサービス:リクエストのIPアドレスを取得するには?
- 20. DNSドメイン名から短い「ドメイン名」を取得するにはどうすればよいですか?
- 21. JavaScriptからドメイン名を取得するには?
- 22. 文字列からドメイン名を取得する方法
- 23. javaでホストファイルからドメイン名を取得するには?
- 24. ウェブビューからドメイン名を取得する方法は?
- 25. ドメインを取得し、コンピュータ名を更新したフィールド
- 26. GoのIPアドレスからドメイン名を取得
- 27. 特定のドメインのウェブビューからCookieを取得しますか?
- 28. リクエストはASHXハンドラで他のリクエスト値を取得しますか?
- 29. ドッカーのユーレカで正しいドメイン名を取得
- 30. ドメイン名なしでアクティブなディレクトリのユーザー名を取得するには?
あなたがサービスにアクセスするために使用されるURLを意味しましたか?クライアントのアイデンティティ? –
クライアントの参照先ドメインがありません。 – DDiVita