无法使用 BackOfficeUserPasswordChecker 与外部用户登录 Umbraco



我正在尝试使用BackOfficeUserPasswordChecker为Umbraco(与外部用户(进行身份验证。

我定制了OwinStartup:

public class UmbracoCustomOwinStartup
{
public void Configuration(IAppBuilder app)
{
var applicationContext = ApplicationContext.Current;
app.ConfigureUserManagerForUmbracoBackOffice<BackOfficeUserManager, BackOfficeIdentityUser>(
applicationContext,
(options, context) =>
{
var membershipProvider = Umbraco.Core.Security.MembershipProviderExtensions.GetUsersMembershipProvider().AsUmbracoMembershipProvider();
var settingContent = Umbraco.Core.Configuration.UmbracoConfig.For.UmbracoSettings().Content;
var userManager = BackOfficeUserManager.Create(options,
applicationContext.Services.UserService,
applicationContext.Services.EntityService,
applicationContext.Services.ExternalLoginService,
membershipProvider,
settingContent);
// Set your own custom IBackOfficeUserPasswordChecker   
userManager.BackOfficeUserPasswordChecker = new CustomPasswordChecker();
return userManager;
});
}
}

我还定义了CustomPasswordChecker,它总是在CheckPasswordAsync方法中返回ValidCredentials:

public Task<BackOfficeUserPasswordCheckerResult> CheckPasswordAsync(BackOfficeIdentityUser user, string password)
{
return Task.FromResult(BackOfficeUserPasswordCheckerResult.ValidCredentials);
}

当我输入一个 Umbraco 数据库中没有的用户名时,Umbraco 登录仍然抛出消息"登录失败的用户..."。我调试了,它正确地跳转到CustomPasswordChecker.CheckPasswordAsync((,但消息仍然抛出,我无法成功登录。

我错过了什么吗?如何使 Umbraco 接受外部用户(AD 用户/在其他数据库中定义的用户,...(?

你的 Umbraco 中有用户吗?如果您尝试使用Umbraco中没有的用户登录Umbraco,那么它将回退到默认身份验证。

您可以先尝试将用户添加到您的 umbraco。

最新更新