2010-06-03 5 views
5

У меня много problems with FormsAuthentication и как потенциальная работа вокруг. Я думаю о хранении login в Session?Использование сеанса для хранения подлинности?

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

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

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

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

+1

Какие проблемы у вас с проверкой подлинности форм? –

ответ

0

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

How do I create a custom membership provider for ASP.NET MVC 2?

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

2

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

Для проверки подлинности Я хотел бы использовать:

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) 

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