如果当前用户未登录到Windows域,是否可以使用AspNetWindowsAuthProvider并回退到CredentialsAuthProvider?
由于
答案 0 :(得分:0)
它可以像任何其他AuthProviders一样注册您希望允许的所有身份验证选项,例如:
Plugins.Add(new AuthFeature(
() => new CustomUserSession(), //Use your own typed Custom UserSession type
new IAuthProvider[] {
new AspNetWindowsAuthProvider(this) {
AllowAllWindowsAuthUsers = true
},
new CredentialsAuthProvider(),
}));
用户仍然需要使用他们选择的Auth选项明确登录,即使用Windows Auth登录他们需要访问/auth/windowsauth
路由,而使用凭据身份验证登录他们需要明确发布他们的用户名/密码,即:
<form action="/auth/credentials">
<input type="text" name="Username" />
<input type="password" name="Password" />
<input type="submit"/>
</form>
注意:CredentialsAuthProvider
仅允许访问在Auth Providers中注册的用户,例如用户已在RegistrationService注册(即/register
),但未与WindowsAuth相关联。