0
ASP.Net IDに問題があります。ASP.Net ID - パスワードでログインできません
var manager = new UserManager<IdentityUser>(userStore);
manager.UserValidator = new UserValidator<IdentityUser>(manager)
{
AllowOnlyAlphanumericUserNames = false
};
manager.PasswordValidator = new PasswordValidator
{
RequiredLength = 6,
RequireDigit = true,
RequireLowercase = true,
RequireUppercase = true,
};
var user = new IdentityUser() { UserName = email.Text, Email = email.Text };
IdentityResult result = manager.Create(user, Password1.Text);
これで、ユーザーがデータベースに追加されます。このユーザーでログインしようとすると、パスワードがアカウントの作成に使用されたものと同じパスワードであっても、常に「パスワードが間違っています」が返されます。
私が使用してログインしています:
var userStore = new UserStore<IdentityUser>();
var userManager = new UserManager<IdentityUser>(userStore);
userManager.UserValidator = new UserValidator<IdentityUser>(userManager)
{
AllowOnlyAlphanumericUserNames = false
};
var user = userManager.Find(email.Text, Password.Text);
if (user != null)
私が見ることができるSQLプロファイラを使用すること、それが正しくユーザーを検索し、私はSSMSでSQLを実行したときに、私は、行がうまく返され見ることができます。
データベースから返された実際のレコード数が1のときにuserManager.Findがnullを返す理由がわかりません。
を使用し、これはMVCアプリケーションですか? SignInManagerクラスを使用する必要があります。 – JuanR
プロファイラがデータを返すクエリを表示する場合、ハッシングアルゴリズムの問題はありません。マネージャーの 'Create'メソッドと' Find'メソッドを追加して、 – bradbury9
@JuanのASP.Net Webフォームプロジェクトを再現できるようにします。 – Dean