node.JS - экспресс-фреймворк создает сессию и проверяет, существует ли сессия - PullRequest
0 голосов
/ 24 апреля 2011

Это мой код сервера, пожалуйста, посмотрите на комментарии в коде.

var app = express.createServer();
app.get('/', function(req, res){
    // create a session with the value of an email for example: me@gmail.com
});

// down here I want to check the session if the session exist
if( there is a session with value me@gmail.com){
    //do stuff  
}

1 Ответ

2 голосов
/ 24 апреля 2011

Способ, которым сеансы реализованы в Connect / Express, не позволяет использовать собственный идентификатор сеанса. Это отчасти из-за безопасности. Так что вы можете сделать кучу вещей.

  • Сохраните все в сеансе. Создайте где-нибудь индекс (возможно, в базе данных), который сопоставляет адреса электронной почты с идентификаторами сеансов, чтобы вы могли просматривать сеансы по электронной почте.

  • Хранить только электронную почту в сеансе. Сохраните фактические данные сеанса в другом месте (возможно, в базе данных), где вы можете получить их по адресу электронной почты.

  • Создайте свое собственное промежуточное программное обеспечение сеанса, возможно, на основе кода Connect. Фактический код сеанса в Connect - всего 300 строк. Но будьте очень осторожны, чтобы не повредить функции безопасности.

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