2009-11-21 3 views
2

Я пытаюсь установить файл cookie auth в OnAuthorization моего пользовательского атрибута в приложении asp.net mvc (C#).FormsAuthentication.SetAuthCookie в OnAuthorization настраиваемого атрибута

, когда сессия заканчивается (новая сессия), я устанавливаю файл cookie auth, чтобы сделать его доступным до выхода пользователя из системы.

Я использовал следующее для установки аутентификации печенья,

//set forms auth cookie 
FormsAuthentication.SetAuthCookie(strUserName, true); 

Но когда я проверить HttpContext.User.Identity.IsAuthenticated, он возвращает ложь.

Как установить файл cookie в формате OnAuthorization пользовательского атрибута?

ответ

1

После установки аутентификации печенье, вы не будете автоматически получать Context.User заполнены, вам нужно сделать что-то вроде:

Context.User = new GenericPrincipal (new GenericIdentity (strUserName, "Forms"), null); 

где strUserName должен быть ненулевым и не пусто IsAuthenticated вернуться true. По следующему запросу Context.User должен быть установлен FormsAuthenticationModule, и вам ничего не нужно будет делать.

+0

Я использовал его, он работает для текущего запроса. Но когда для следующей страницы/другого запроса. Запрос не аутентифицирован. Можете, пожалуйста, помогите мне здесь. –

0

Я подозреваю, что вам может потребоваться перенаправить на новую страницу после того, как вы установите файл cookie auth, а затем на новой странице проверьте IsAuthenticated. Я не совсем помню порядок, в котором это происходит, но это напоминает мне вопрос, который у меня был.

Смежные вопросы