Используя сессию для хранения аутентификации? - PullRequest
5 голосов
/ 03 июня 2010

У меня много проблем с FormsAuthentication , и в качестве потенциального решения проблемы я думаю о сохранении login в Session?

Login:
Session["Auth.ClientId"] = clientId;

IsAuthenticated:
Session["Auth.ClientId"] != null;

Logout;
Session["Auth.ClientId"] == null;

Во всяком случае, я не использую большинство наворотов FormsAuthentication. Это плохая идея?

Ответы [ 2 ]

2 голосов
/ 04 июня 2010

Я не буду хранить какую-либо ценную информацию в сессии.

Для аутентификации я бы использовал:

if (HttpContext.Current.User.Identity.IsAuthenticated)
{
    // Then u use 
    // this.User.Identity.Name as my membership_id so i could call this everywhere
}else
{
    //Redirect to Login
    //gettting my LoginPageAddress
    Response.Redirect(ConfigurationSettings.AppSettings["LoginPage"]);
}

Логин выглядит примерно так:

FormsAuthentication.SetAuthCookie(membership_ID, false)

В любом случае, надеюсь, это поможет

0 голосов
/ 03 июня 2010

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

Как создать пользовательский поставщик членства для ASP.NET MVC 2?

имеет хорошие примеры этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...