Asp.NET ID 3はUserManagerの引数の1つのコンストラクタを削除したので、UserManagerから継承する場合は10個の引数をすべて指定する必要があります。私は、コントローラを呼び出すときので、これは動作しないと仮定しASP.NET IDを使用するカスタムパスワードポリシー3
public class AppUserManager : UserManager<ApplicationUser>
{
public AppUserManager() : base(new UserStore<ApplicationUser>(new AppDbContext()), null, null, null, new PasswordValidator[] { new PasswordValidator() }, null, null, null, null, null)
{
}
}
public class PasswordValidator : IPasswordValidator<ApplicationUser>
{
public Task<IdentityResult> ValidateAsync(UserManager<ApplicationUser> manager, ApplicationUser user, string password)
{
return Task.Run(() =>
{
if (password.Length >= 4) return IdentityResult.Success;
else { return IdentityResult.Failed(new IdentityError { Code = "SHORTPASSWORD", Description = "Password too short" }); }
});
}
}
:
[HttpPost]
public async Task<dynamic> Post([FromBody] RegisterSchema req)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser(req.username);
AppUserManager um = new AppUserManager();
var result = await um.CreateAsync(user, req.password);
return result;
}
result
は常にnullである(um
ながら、簡単な作業で、私はachiveしたので、私はこのコードを書きました
はい、あなたのコードはokです。とにかく私は同様の方法で問題を解決しましたが、より多くのコードを(ちょっとした柔軟性のために) – Cristiano
upvoteを取得する可能性はありますか?それは丁寧です。私は賛成を返すでしょう。 :-) –