2016-10-03 2 views
0

私は個々の内部ユーザーアカウントを持つASP.NET Webアプリケーションを持っています。外部プログラムからこれらのユーザーアカウントを作成したいと考えています。だから私はMicrosoft.AspNet.Identityを参照するプログラムを持っています。その中で私は、ユーザーを作成します。私は、最初のアプリケーションを実行してサインインしようとすると、サインインできるASP.NET IDユーザーを作成するにはどうすればよいですか?

var userStore = new UserStore<IdentityUser>(); 
var um = new UserManager<IdentityUser>(userStore); 
//... 
var newUser = new IdentityUser(userName); 
newUser.Email = userName; 
var result = um.Create(newUser, "[email protected]"); 

はしかし、SignInManager.PasswordSignInAsyncは常にSignInStatus.Failureを返します。 (私はかなりユーザー名とパスワードが正しいと確信して、私はデータベースからユーザー名をコピーし、コードからパスワードをコピーしています。)それは動作しないはずですか?何か不足していますか?

答えて

0

犯人はIdentityUserでした。私はなぜ(私はsecuritystampがそれと関係があると思います)、あなたはApplicationUserを作る必要があるのか​​分かりません。だから私はIdentityUserの代わりにApplicationUserを作ることができるようにWebアプリケーションへのリファレンスを含めた:

var userStore = new UserStore<ApplicationUser>(new ApplicationDbContext()); 
var um = new UserManager<ApplicationUser>(userStore); 
//... 
var newUser = new ApplicationUser(); 
newUser.Email = user.UserName; 
newUser.UserName = user.UserName; 
var result = um.Create(newUser, "[email protected]"); 
関連する問題