2016-04-11 104 views
1

'un bir sorun mu olduğunu kontrol etmek için Giriş içerisinde KullanıcıAdı'nı kullanın. Oturum açıldıktan sonra kullanıcının yönetici rolünde olup olmadığını kontrol etmek istiyorum. Yönetici Rolü

if(User.IsInRole("Administrator")) 

Kullanıcı ile bunu yaparken ben bir sorun bırakmış == null ve bunu yapmak için başka bir yolunu bulmamız mümkün değil.

Birkaç şey denedim ancak hiçbiri gerçekten işe yaramıyor.

Bu geçici bir çözüm işte Http Context User nesneye bu

switch (result) 
     { 
      case SignInStatus.Success: 
       //check if user is admin 
       if (Roles.GetRolesForUser().Contains("Administrator")) 
       { 
        return RedirectToAction("Index", "MIS"); 
       } 
       else 
        return View(); 
+0

Eğer değeri ne kontrol ettiniz iletilen kullanıcı? User.IsInRole ("Admin") 'Kullanıcı Yaptığımda – Izzy

+0

User = null – bfmv991

cevap

1

Değil emin niçin artık alıyoruz erişiminin Withing edilmelidir

switch (result) 
      { 
       case SignInStatus.Success: 
        //check if user is admin 
        var adminRole = context.Roles.Where(r => r.Name == "Administrator").FirstOrDefault(); 
        var user = context.Users.Where(u => u.UserName == model.Username).FirstOrDefault(); 
        if(user.Roles.Where(r => r.RoleId == adminRole.Id).Count() > 0) 
        { 
         return RedirectToAction("Index", "MIS"); 
        } 
        else 
         return View();