我想通过会话管理对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