Şimdi Ara

Asp.net mvc authorization sorunu?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
2
Cevap
0
Favori
669
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar login işleminde role göre yönlendirme yapmaya çalışıyorum.Login formu olmadan kullanıcı adı ve parolayı url üzerinden gönderdiğimde akif kullanıcının rolü IsInrole metodu ile true dönüyor fakat login formu yapıp bilgileri post ettiğimde ilk girişte IsInRole metodu ilk girişte false dönüyor ikinci girişte true dönüyor.Nasıl çözebilirim acaba bu sorunu?
    String dönen ve sorunsuz çalışan kod
    public string Login(string userName, string password)
    {
    var user = _userService.GetByUserNameAndPassword(userName, password);
    if (user != null)
    {
    AuthenticationHelper.CreateAuthCookie(
    new Guid(), user.UserName,
    user.Email,
    DateTime.Now.AddDays(15),
    _userService.GetUserRoles(user).Select(u => u.RoleName).ToArray(),
    false,
    user.FirstName,
    user.LastName);
    return "User is authenticated!";
    }
    return "User is NOT authenticated!";
    }

    İkinci login işleminde çalışan kod.ilkinde çalışmıyor.

     public ActionResult Login()
    {
    return View();
    }
    [HttpPost]
    public ActionResult Login(string userName, string password)
    {

    var hash = HashwordHelper.GenerateSHA512String(password);
    var user = _userService.GetByUserNameAndPassword(userName, hash);
    if (user != null)
    {
    AuthenticationHelper.CreateAuthCookie(
    new Guid(), user.UserName, user.Email,
    DateTime.Now.AddMinutes(60), _userService.GetUserRoles(user).Select(u => u.RoleName).ToArray(),
    true, user.FirstName, user.LastName);
    bool detect = HttpContext.User.IsInRole("Student");
    bool detect2 = System.Threading.Thread.CurrentPrincipal.IsInRole("Student");
    if (HttpContext.User.IsInRole("Admin") || HttpContext.User.IsInRole("Editor"))
    {
    return RedirectToAction("Index", "Admin");
    }
    else if (HttpContext.User.IsInRole("Student"))
    {
    return RedirectToAction("Index", "Product");
    }
    }
    return View();
    }







  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.