我找到了一种通过以下代码成功验证后台用户的方法。
在 Web.config 中,我找到了后台成员提供者信息。
<add name="UsersMembershipProvider"
type="Umbraco.Web.Security.Providers.UsersMembershipProvider, Umbraco"
minRequiredNonalphanumericCharacters="0"
minRequiredPasswordLength="10"
useLegacyEncoding="false"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
passwordFormat="Hashed"
allowManuallyChangingPassword="false" />
因此,我使用会员提供者的名称并执行以下操作来验证后台用户,
public bool ValidateUser(string username, string password)
{
try
{
var provider = Membership.Providers["UsersMembershipProvider"]; // from web.config
if (provider != null)
{
var validUser = provider.ValidateUser(username, password)
? Task.FromResult(BackOfficeUserPasswordCheckerResult.ValidCredentials)
: Task.FromResult(BackOfficeUserPasswordCheckerResult.InvalidCredentials);
return validUser.Result == BackOfficeUserPasswordCheckerResult.ValidCredentials;
}
return false;
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
}
以上验证后台用户是否存在返回true。