2016-07-08 19 views
0

スーパーバイザがユーザに対して無効にできるようにしたいAsp.Net管理者パスワードを確認する

たとえば、人は検査に失敗し、続行することが大丈夫であることを確認する監督者が必要です。

私は現在、ビューからユーザー名とパスワードを返すフォームを持っています。私はそれらをログインせずに、彼らは上司であることを確認することができるようにしたい

コントローラー:。

[HttpPost] 
    [AllowAnonymous] 
    [ValidateAntiForgeryToken] 
    public async Task<IActionResult> verify(verifyViewModel model) 
    {  //this creates the user and their subdomain 
     string str_UserName = model.UserName + "@" + model.Subdomain; 
      var verify = await _userManager.VerifyPasswordAsync(str_UserName, model.Password); 
     if (verify == true){ continue with program } 

モデル:

public class verifyViewModel 
{ 
    [Required] 
    public string Subdomain { get; set; } 

    [Required] 
    public string UserName { get; set; } 

    [Required] 
    [DataType(DataType.Password)] 
    public string Password { get; set; } 


} 

_userManager.VerifyPasswordAsync(str_UserName, model.Password); 

と私は考えます何か不足していますが、ここからどこまで続くか分かりません

答えて

0
public async Task<bool> VerifyAdmin(string username, string password) 
    { //GET THE USER WE WANT TO VERIFY.           //model.UserName 
     var userToVerify = await _context.ApplicationUser.SingleOrDefaultAsync(u => u.UserName == username); 
     //IF THE USER IS NOT AN ADMIN, RETURN FALSE. 
     if (!userToVerify.IsAdmin) 
     { 
      return false; 
     } 
     //INITIALIZE RESULT. 
     bool result = false; 
     //CHECK THE USERNAME AND PASSWORD. 
     result = await _userManager.CheckPasswordAsync(userToVerify, password); 
     //RETURN THE RESULT. 
     return result; 
    } 

これは私たちが最終的に思いついた解決策です。お気軽に変更やアップグレードを提案してください!

関連する問題