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

问题描述 投票:0回答:1

我正在尝试使用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用户/用户......)?

asp.net umbraco umbraco7
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.