В случае, если вы хотите записать все запросы в файл журнала, я бы предложил использовать morgan - npm
Морган дает много опций для выбора того, что регистрируется и в каком формате. [ 113]
Вот пример:
var express = require('express')
var fs = require('fs')
var morgan = require('morgan')
var path = require('path')
var app = express()
// create a write stream (in append mode)
var accessLogStream = fs.createWriteStream(path.join(__dirname, 'access.log'), { flags: 'a' })
// setup the logger
app.use(morgan('combined', { stream: accessLogStream }))
app.get('/', function (req, res) {
res.send('hello, world!')
})
Единственная реальная проблема безопасности будет, если эти анонимные пользователи могут выполнить критические операции.
Ваша система означает, что любой с определенным cookie получит доступ на сайт. Не обязательно грандиозное предприятие, но это действительно зависит от типа информации, которую предоставляют Ваши пользователи.
Я сделал что-то подобное в прошлом (в моем случае, я отслеживал прогресс через сайт и когда пользователь вошел в систему или зарегистрировался, я присоединил "гостевые" данные к их учетной записи. Когда Вы делаете переключатель, удостоверьтесь, что Вы удаляете анонимную запись для предотвращения дальнейшего доступа, и это должно быть прекрасным.
Вы уверены, что хотите позволить людям создать объекты, которые связываются с учетными записями, которые не могут существовать? К сожалению, я не знаю много о том, что на самом деле делает Ваше приложение, но я думал бы, что потеря работоспособности по этому пути могла бы оставить Вас с набором осиротевших объектов не действительно "принадлежавшими" любым реальным пользователям.
Если Вы действительно хотите сделать это, я думаю, что Вы имеете, достойно. Вы могли создавать реального пользователя, отмеченного как "гость" (или безотносительно) и после того как пользователь хочет действительно зарегистрироваться, они запрашиваются другую информацию и не отмечаются. Необходимо добавить управление доступом для гостя по сравнению с негостем и т.д.
Принятие сессии сохраняется для некоторого разумного срока, и сеансовые куки не истекают, который должен поддерживать все в рабочем состоянии гладко.
Возможно, необходимо установить отдельный долговечный cookie для нового пользователя, таким образом, у них может быть несколько сессий (по крайней мере, от того браузера).
Я только что нашел довольно интересный пример «пробных пользователей», использующих Authlogic: http://github.com/gisikw/authlogic_trial