我想通過會話管理對WPF客戶端進行身份驗證。 首先,用戶在wpf表單的幫助下將訪問WCF服務,並將生成外部事件ID,並且如果用戶再次想要訪問該服務,而不是使用用戶名和密碼進行身份驗證,那麼我們想要使用該外部事件ID進行身份驗證在上一步中生成。通過SessionId進行WCF服務身份驗證
那麼請提出什麼可能是獲得理想輸出的最佳方式?
我沒有使用web.config文件。在C#代碼,而不是我使用的配置部分,低於: -
[ServiceContract(SessionMode=SessionMode.Required)]
public interface Iexecute {
[OperationContract]
string loginUserName();
[OperationContract]
string LoginPassword(string SessionId);
}
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)]
public class Execute : Iexecute, IDisposable
configuartion的另一部分是: -
ServiceHost host = new ServiceHost(typeof(Execute), new Uri("net.tcp://localhost:4233"))) { host.AddServiceEndpoint(typeof(Iexecute), new NetTcpBinding(), "Execute");
NetTcpBinding tcpsessionBinding = new NetTcpBinding(); tcpsessionBinding.ReliableSession.Enabled = true; tcpsessionBinding.ReliableSession.InactivityTimeout = TimeSpan.FromMinutes(25);
你說的是訪問相同的服務/方法一旦使用用戶名/密碼,然後使用的sessionId? – Kangkan 2011-12-28 12:01:40
是的,你是對的Kangkan.But我不知道這是否是正確的方式來實現身份驗證服務。那麼你能否爲我提供實現身份驗證的最佳方式(可以通過用戶身份驗證或sessionId生成來完成) – user1119188 2011-12-29 10:16:38
但是這種需求的動機是什麼?你想在服務上進行一些會話嗎?如果認證的發生與第一次相同,那麼問題是什麼?畢竟這對用戶是透明的。 – Kangkan 2011-12-29 10:37:53