好的,所以我对会话非常非常新,并且正在尝试在Electron应用程序中实现登录/注销用户系统。
我有一个SQLite数据库,现在我通过Angular控制器函数将用户名和密码传递给另一个处理数据库事务的JavaScript文件(并检查哈希和所有bcrypt爵士乐)。然后该函数将必要的变量返回给Angular控制器。
我一直尝试使用$channels[] = $channel_name;
....
if (in_array($channel_name, $channels))
// skip this one
在网上找到的几种不同的解决方案,但我必须说实话,我还有一些事情。只是没有得到,似乎没有任何工作正常。所以我在设置这件事时遇到了几个问题。
(1)我在哪里创建会话?在Angular express-session
函数中?还是在数据库交易功能? (或完全在其他地方?)。 [当我说创建函数时,我的意思是:
controllers.js
(2)创建会话后,我是否将它传递到某个地方以使角色var app = express()
app.set('trust proxy', 1) // trust first proxy
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}))
中可以访问变量?
(3)如果我们通过这些变量,我该如何访问它们?所以显示的代码通常是:
controllers.js
但是如何分配,说// Use the session middleware
app.use(session({ secret: 'keyboard cat', cookie: { maxAge: 60000 }}))
// Access the session as req.session
app.get('/', function(req, res, next) {
if (req.session.views) {
req.session.views++
res.setHeader('Content-Type', 'text/html')
res.write('<p>views: ' + req.session.views + '</p>')
res.write('<p>expires in: ' + (req.session.cookie.maxAge / 1000) + 's</p>')
res.end()
} else {
req.session.views = 1
res.end('welcome to the session demo. refresh!')
}
})
然后将其打印到控制台?
对这些问题抱歉,我真的认为我在这里缺少某种步骤而且不太确定如何解决它。
(代码来自https://github.com/expressjs/session,虽然我也在这里尝试了指南:https://stormpath.com/blog/everything-you-ever-wanted-to-know-about-node-dot-js-sessions)