2017-10-28 5 views
0

設定ユーザー方式のパスワード問題:Startup.cs追加し、私はそれで次のような方法がある私のStartup.csファイル内のメソッド作成した

`

private void createRolesandUsers() 
     { 
      ApplicationDbContext context = new ApplicationDbContext(); 

      var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context)); 
      var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)); 


      // creating first Boss Role and creating a default Boss User  
      if (!roleManager.RoleExists("Boss")) 
      { 

       // first we create Admin rool 
       var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole(); 
       role.Name = "Boss"; 
       roleManager.Create(role); 

       //add a note to get this to rerun? 

       //Here we create a Admin super user who will maintain the website     

       var user = new ApplicationUser(); 
       user.UserName = "Boss"; 
       user.Email = "[email protected]"; 

       string userPWD = "Pa$$w0rd"; 

       var chkUser = UserManager.Create(user, userPWD); 

       //Add default User to Role Admin 
       if (chkUser.Succeeded) 
       { 
        var result1 = UserManager.AddToRole(user.Id, "Boss"); 

       } 
      } 

`

IをこのメソッドをConfigurationから呼び出します。これは、ユーザーとBossの役割を作成するのに最適です。 AzureアプリケーションのSQLデータベースにリモートログインしたときに、ユーザーが作成されたことを確認できます。残念ながら、私はアカウントにログインすることができません、私はユーザー名とパスワードをダブルチェックし、コピーして両方の電子メールの入力とパスワードの入力に貼り付けました。誰にでも、これを引き起こすために自分のコードに何が間違っているのか、それを修正するための提案があるのか​​知っていますか?

事前にお手数をおかけしていただきありがとうございます。

答えて

1

デフォルトのMVCテンプレートがUserName(メソッドに来ないEmail)を必要とするSignInManager.PasswordSignInAsyncを使用してメールアドレスとパスワードしかしログインコントローラを必要とログインページを作成します。

クイックフィックス:

update dbo.AspNetUsers set UserName=Email where UserName='Boss' 

(電子メールを使用して、ログインユーザ名==)。

より長い修正:login.cshtml,LoginViewModel、および[HtmlPost]Loginがそれに応じて書き換えられます。

+1

はい。これが私の言うことです。 –

関連する問題