2011-09-22 54 views
1

我将NHibernate会话附加到WCF Web服务中的操作上下文,该服务允许我在处理每个操作(服务实例上下文是每次调用)期间访问会话对象。使用WCF和NHibernate进行自定义身份验证

该服务使用UserNamePasswordValidator实现自定义认证,但不幸的是,在请求被认证之前,OperationContext.Current始终为空(可能是设计)。

我的问题是,如果我无法通过OperationContext.Current获取会话,应如何在Validate(string userName,string password)方法上设置NHibernate会话?其他窥视器如何做到这一点?

在此先感谢。

回答

0

在验证器中使用单独的会话=通过会话工厂创建新会话。安全处理和设计操作处理之间没有共享存储。他们甚至应该运行不同的线程。您应该遵循此设计,不要在安全处理和操作处理之间共享会话和加载对象。

+0

感谢您的确认。 – Simian

相关问题