Mar*_* L. 4 wcf dependency-injection autofac
我正在为WCF服务构建自定义UserNamePasswordValidator.我正在使用Autofac + WCF/multitenant连接服务,所有这些都整齐地安装在一起.但是,我不确定使用什么策略来连接/实现此身份验证类.
理想情况下,我会开始
public class MyValidator : UserNamePasswordValidator {
public MyValidator(Func<Owned<IMyUserService>> userservicefactory) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
但是,这并不是严格可行的,因为WCF使用UserNamePasswordValidator的方式(唯一的选项似乎是无参数构造函数).
所以,问题:
我在启动时或在自定义ServiceHostFactory中的代码中配置了服务主机.
从XML配置中,我删除了
<userNameAuthentication
userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="Common.MyCustomUsernamePasswordValidator, Common"/ -->
Run Code Online (Sandbox Code Playgroud)
因为我在托管之前配置了我的容器:
var auth = host.Credentials.UserNameAuthentication;
auth.UserNamePasswordValidationMode = UserNamePasswordValidationMode.Custom;
auth.CustomUserNamePasswordValidator = container.Resolve<Common.MyCustomUsernamePasswordValidator>();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1190 次 |
最近记录: |