2010-11-05 1 views
0

Я хочу сохранить некоторую информацию в сессии когда пользователи успешно логины с моим обычаем MembershipProvider, но у меня нет доступа к сессии в провайдера ValidateUser.ASP.Net - Сохранить некоторую информацию в сессии в рамках пользовательского MembershipProvider

public class CustomMembershipProvider : MembershipProvider 
{ 
    /* Override other methods and properties here */ 

    public override bool ValidateUser(string username, string password) 
    { 
     /* do something to validate the username and password 
     * and set the validUser variable */ 
     if (validUser) 
     { 
      /* want to store some info in the Session here, but I can't access 
      * it here, because this is not a Page */ 
     } 
     return validUser;     
    } 
} 

Как я могу это сделать?

ответ

3

Вы можете использовать HttpContext.Current.Session
Вам нужно сначала обратиться к System.Web. Это приведет к сеансу, на котором работает текущий поток.

Пример:

HttpContext.Current.Session["UserWhatevetProperty"] = validUser.WhateverProperty; 
+0

Спасибо! Я действительно нашел его, ожидая ответа. Следующая ссылка дала ответ, а также ответила мне на другой вопрос: как уничтожить сеанс при выходе из системы управления доступом asp.net. http://forums.asp.net/t/1131138.aspx – mmutilva