AuthorizeAttribute не распознает AuthCookie в ASP.NET

После успешного входа у меня есть эта строка

FormsAuthentication.SetAuthCookie(a.username, true);

Затем у меня есть несколько страниц, для доступа к которым требуется логин, поэтому я добавил атрибут [Authorize] к ним, как так

[Authorize]
public ActionResult Upload()
{
    return View();
}

Однако после входа в систему такие функции все равно возвращают страницу ошибки 401 — Unauthorized, как если бы пользователь не вошел в систему. Состояния страницы ошибки:
Метод Входа Анонимный
Вход Пользователя Анонимный

Кроме того, в моем проекте включена анонимная проверка подлинности, а проверка подлинности Windows отключена.

Я ищу решение, где funcitons как Upload () всегда доступны для любого вошедшего в систему пользователя.

2 ответа

  1. Что вы можете сделать, и что я сделал, чтобы написать свой собственный cookie таким образом:

    FormsAuthenticationTicket authTicket = new
         FormsAuthenticationTicket(1, //version number of ticket
         userName, // UserName
         DateTime.Now,             //cookie creation time
         DateTime.Now.AddHours(24), //Expiration time . cookie valid for 1 day
         true,  //Persistent
         userData); // other data to store in ticket
    

    // set Cookie

    Response.SetCookie(
                new HttpCookie(
                    FormsAuthentication.FormsCookieName,
                    FormsAuthentication.Encrypt(authTicket)) //// encrypt ticket
                {
                    Expires = DateTime.Now.AddHours(24),
                    HttpOnly = true,
                    Secure = FormsAuthentication.RequireSSL
                });
    
  2. «Проверка подлинности форм должна быть включена, посмотрите в интернете.config если у вас в системе.веб » — glacasa