Я не могу аутентифицировать пользователей при входе в asp.net mvc5 с использованием удостоверения asp.net - PullRequest
0 голосов
/ 03 октября 2019

Я использую удостоверение asp.net в тот момент, когда я помещаю тег [authorize] поверх действия, которое перенаправляет меня на панель пользователя, и перенаправляется обратно на страницу входа. Для меня это означает, что что-то отсутствует в моем удостоверении asp.net, так как я не могу разрешить любому пользователю доступ к приборной панели, пока я не удалю тег авторизации

Контроллер My Home для входа в систему

 [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Login(UserProfile objUser)
        {
            if (ModelState.IsValid /*&& WebSecurity.Login(objUser.UserName.ToString(), objUser.Password )*/)
            {
                using (MarketingDBEntitiesModel db = new MarketingDBEntitiesModel()) 
                {
                    var obj = db.UserProfiles.Where(a => a.UserName.Equals(objUser.UserName) && a.Password.Equals(objUser.Password)).FirstOrDefault();

                    if (obj != null)
                    {
                        Session["UserID"] = obj.UserId.ToString();
                        Session["UserName"] = obj.UserName.ToString();
                        ConfigurationManager.AppSettings["CurrentUserId"] = Session["UserID"].ToString();                     
                        ConfigurationManager.AppSettings["UserName"] = objUser.UserName;
                        //await SignIn(obj.UserId.ToString(), false);
                        return RedirectToAction("UserDashBoard");
                    }
                }
            }
            return View(objUser);
        }

        [Authorize]
        public ActionResult UserDashBoard()
        {
            if (Session["UserID"] != null)
            {
                return View();
            }
            else
            {
                return RedirectToAction("Login");
            }
        }

My Web Config

<authentication mode="Forms">
      <forms loginUrl="~/Home/Login" timeout="2880" />
    </authentication>

1 Ответ

0 голосов
/ 04 октября 2019

Конечно, это не получится. Ваш код не авторизует пользователя, вы просто устанавливаете значения для сеанса и сохраняете их в web.config.

Взгляните на эту статью, Авторизация и безопасность ASP.NET MVC .

...