Состояние сеанса в web.config - PullRequest
3 голосов
/ 05 апреля 2011

Я работаю над веб-приложением, которое имеет 3 вида пользователей.

Чтобы избежать многократного входа в систему одного и того же пользователя, я использовал столбец входа в таблице, который станет 1 после входа в систему и 0 после выхода из системы. Я использовал состояние сеанса для выхода из системы, если пользователь закрывает окно браузера без выхода из системы.

<system.web>       
  <sessionState mode="InProc" timeout="15" cookieName="student"/>

Global.asax:

void Session_End(object sender, EventArgs e) 
{
        int sid = Convert.ToInt32(Session["student"]);
        candidate.signoutUser(sid);
}

Но есть три типа пользователей. Я не могу добавить несколько sessionState. Есть ли способ решить эту проблему?

1 Ответ

4 голосов
/ 05 апреля 2011

Почему вы не добавляете тип пользователя в его состояние сеанса?

как это:

Session["user"] = "Strudent_" + userId;

, а затем проанализируйте ваш единственный сеанс, чтобы найти Id и тип пользователя:

var userType = Session["user"].ToString().split('_')[0];
var userId = Convert.ToInt32(Sessionp["user"].ToString().split('_')[1];)

Но я рекомендую использовать для состояний сеанса:

  • один для userId
  • один для userType

вы также можете запросить тип пользователя из базы данных, используя userId, если не хотите использовать несколько состояний сеанса.

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