Tag: 会话

用户和来宾两个不同的模板? 或者dynamic改变视图使用客户端variables?

情况1 我有一个控制面板界面(HTML / CSS),这是一个注册用户和非注册用户。 我将使用客户端Ajax来检查是否有有效的用户会话。 如果返回一个200(好的),那么我会让Angular隐藏界面的访客部分,并显示用户部分。 (基本隐藏login表单并显示用户选项部分)。 如果它返回一个400,反之亦然。 情景2 我有一个客人的控制面板界面,一个为注册用户。 在请求控制面板部分接口时,我将使用服务器端路由器/控制器逻辑来检查有效的用户会话。 如果是,则响应发送controlPanel-user.html。 如果是false,则发送controlPanel-guest.html。 我试图寻找适合这种情况的理论,但找不到具体的情况,也许这里有人是比我更好的Google员工。 注意:客户端界面更新不会真正危害我的系统,不pipe这个人是否能够访问html视图的用户版本,他们仍然会被拒绝访问任何API,没有适当的服务器端身份validation。

为商务应用程序快速存储会话我应该使用什么?

我想创build会议多个login相同的帐户现在我正在为任何特定的用户存储唯一的会话string现在我的问题是,当我使用快速会话,然后在其文档页面input链接描述在这里提到 警告:默认的服务器端会话存储器MemoryStore故意不是为生产环境而devise的。 它会在大多数情况下泄漏内存,不会通过单个进程扩展,而是用于debugging和开发 现在我的问题是,因为我正在创build一个应用程序的业务,如果我不使用,如果我不使用,那么什么是最好的存储会话,我已经听说redis,但我也听说,它消耗了很多内存,这就是为什么可以任何人都可以放一些这个我会很大胆的。

Node.js Express – 在不同的服务器上共享Passport会话

所以我们有一个“web”服务器和一个API服务器 – web服务器提供HTML,API服务器提供JSON。 我们使用Passport的Twitter策略在Web服务器上进行身份validation。 我的问题是 – 检查API服务器的最佳方法是什么,用Web服务器进行身份validation的用户也使用API​​进行身份validation? 我的假设是,我们应该把大部分Passport代码放到Web服务器上,让用户像往常一样使用Passport进行身份validation,并使用API服务器中的某些中间件来检查用户是否已login(有会话): app.use(passport.initialize()); app.use(passport.session()); app.use(expressSession({ secret: 'keyboard cat', store: new MongoStore({mongooseConnection: mongoose.connection}) })); app.use(function(req,res,next){ if(req.isAuthenticated()){ next(); } else{ console.log('unauthenticated request'); res.status(403).json({error:'unauthorized request'}); } }); 但是,上述似乎还不够。 我完全搞不清楚API服务器上需要什么代码 – 我相信我需要从相同的会话存储中读取Web服务器写入的内容,并在API服务器的请求中查看令牌,并将其与会话存储中的令牌? 我不知道我明白了req.isAuthenticated()函数的作用是什么? 好像我现在需要写我自己的req.isAuthenaticated()函数,它会话存储asynchronous读取… 有没有人有一个如何做到这一点的权利?

如何跟踪Stripe状态的Stormpath身份validation会话?

我目前在我的node.js应用程序中使用express-stormpath进行stormpath身份validation。 我也使用条纹。 我试图找出如何正确存储会话。 以下是我打算在用户会话中存储的内容: session: { sp_user: { //stormpath user details } db_user: { //details from my DB } stripe_expiraton: '234253843923' // unix timestamp } 所以在login时,我打算为用户创build一个会话,为期7天。 在每个API调用中,中间件都会检查是否到期。 如果有,或者没有到期date,则意味着我们需要将用户redirect到付款页面。 否则会认为一切正常,并付诸实施。 我应该以这种方式存储会话信息吗? 我不是超级会议pipe理经验。

在非Auth Web应用程序中处理和devise会话部分

我正在创build一个非常简单的Web应用程序(Node.js + Express + Mongoose)。 这更像是一次性使用的应用程序,所以没有用户名和密码,需要用户注册或login。 用户A在进入索引页面时可以使用该Web应用程序。 他会得到一个UUID(一些ID看起来像一个UUID :))。 我想设置一个会话模块,以便我的用户A在短时间内返回应用程序时不会得到新的UUID。 而我不想让用户A获得新的UUID的原因是:他可以与其他用户B / C私下交谈。 聊天的东西需要他/他们的UUID来存储和检索。 非常感谢您的帮助!

如何理解会话和Flash?

我正在学习Sails.js。 有一些代码混淆了我。 if(err) { console.log(err); req.session.flash = { err: err } return res.redirect('/user/new'); } 是闪光的会议的一部分?

如何仅在经过身份validation时才给予会话? 任何其他中间件订单将无法正常工作

无论用户是否login,我都有创build会话的问题。 如果仅在用户成功login时才创build会话,我希望它。 否则,如果一个selenium机器人命中…例如,路由route('/users/:username')我的会议收集会充满会议,而不是真正的用户。 我让我的用户永远保持login状态,所以会话cookie设置为一年…如果会话不属于真实用户,则更糟糕。 只有authentication成功,我如何才能将会话返回给客户端? 我尝试了不同的路线和中间件的顺序,但是这是唯一正确工作的顺序。 app.use(session({ secret: 'bob', saveUninitialized: true, resave: true, name: 'curves', cookie: { secure: false, httpOnly: false, maxAge: 365 * 24 * 60 * 60 * 1000 }, store: new MongoStore(storeOptions) })); app.use(passport.initialize()); app.use(passport.session()); app.use('/', auth); app.use('/api/v1', router); // isLoggedIn WOULD NOT WORK IF I PLACED THIS BEFORE PASSPORT/SESSION MIDDLEWARE router.route('/users/:username') […]

如何在node.js中创build会话

在Node.js / Mongodb中,我想创build一个简单的会话,并将其提供给另一个页面,以便我可以知道用户是否已login。 我想知道他是否可以访问该页面,我该怎么做? 如何设置会话,以及如何获取值以检查是否必须redirect用户。 非常感谢!

Socket.io无法访问与Express相同的会话

我试图使用express和socket.io共享会话,我已经得到它曾经工作,但不知何故,它不会工作了。 我跟着这个链接如何与Socket.IO 1.x和Express 4.x共享会话? 并访问了socket.io上的会话,但它不是以某种方式相同的会话。 看来每个socket.io连接都会产生新的会话。 performance req.session.test =='有些值' Socket.io socket.request.session.test ==未定义 我是否错过了一些东西,或者是这些模块中的一些错误? – 编辑 – 编辑 – 编辑 – 发现是什么原因造成的问题是,当我设置cookie以下 cookie: { domain: '.local.fi' } 我需要跨子域有相同的会话,我怎么能做到这一点,因为许多页面成功? – 编辑 – 编辑 – 编辑 – 的package.json { "dependencies": { "express": "^4.13.4", "express-session": "^1.13.0", "socket.io-session": "^0.0.5", "express-socket.io-session": "^1.3.1", "socket.io": "^1.4.5" } } 开始我的index.js 'use strict' var express […]

Nodejs会话pipe理与java服务器会话pipe理相比较

考虑一个类似tomcat的Java web应用程序,它处理sessions 。 sessions存储在内存中(并且可以在服务器重启时serialized到硬盘)。 对于不能自行处理会话的nodejs应用程序,可以使用https://github.com/expressjs/session托pipe的一些名为expressjs/session库来开发会话。 在查看expressjs/session文档时,您会看到以下警告: 警告:默认的服务器端会话存储器MemoryStore故意不是为生产环境而devise的。 它会在大多数情况下泄漏内存,不会通过单个进程扩展,而是用于debugging和开发。 对我来说,将会话存储在内存中是目前在java web应用程序中所做的,没有任何问题。 现在我的问题是: 在会话中存储会话是一个不好的做法?! 如果在服务器重新启动期间失去会话并且性能不是我所关心的(因为我的应用程序规模),将会话存储在内存中仍然是nodejs不好的做法? (请参阅会话存储的用途是什么? )