nginx+fastcgi+C++如何判断用户的认证状态

2016-08-29 14:49:54 +08:00
 attitude

之前从未接触过 web, 主要开发语言用 C++,学了点 go 。 目前有个项目其中一部分要用到 BS ,主要做参数的配置,也就两三个页面。一个登录页面,其他的做配置页面。 nginx 放静态网页, C++实现具体功能。

问题:当登录页面认证成功之后,跳转到配置页面,配置页面给后台传数据时,怎么确定是合法的? 我的思路是登录成功后返回一个 sessionID ,然后前端每次传数据到后台带上这个 ID ,不知道常规的做法是怎么样的?还是需要 nginx 配合认证?

2843 次点击
所在节点    程序员
6 条回复
fovecifer
2016-08-29 15:01:33 +08:00
一种做法就是你的思路,使用 session_id ,但是这样一般会导致无状态的请求变成有状态,以后不好作水平扩展,或者需要引入 redis 这种公共的服务,又会涉及到单点的问题。
另一种做法是采用 OAuth ,用户的登陆信息实际上在 token 的 payload 里,但是这样对 CPU 的压力又会大一点。

或者 LZ 你自己想一个更好的方法。。。
fyyz
2016-08-29 16:16:24 +08:00
用 C++写 web 不服不行
tinyproxy
2016-08-29 19:34:32 +08:00
@fyyz 知乎上见过拿 CPP 写 web 外包的,当时觉得甲方以后估计要日狗。
fyyz
2016-08-29 20:05:03 +08:00
@tinyproxy 那篇我也看过。
这种偶然的成功只能是特例,不能当作通用方法。
如果用 C++ 写 web ,要写一定能写出来,用汇编都可以,但是对于以后的维护 /升级 /改版都是极大的问题。
bombless
2016-08-30 00:53:33 +08:00
你说那种也类似 token 了
我自己感觉状态方面还好吧,前端当 app 来做就好

现在的话有一些人用 jwt 来做,感觉优点也不特别明显,有时候简化了一些东西吧
fishioon
2016-08-30 16:09:16 +08:00
把这个 session_id 存 cookie 里

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/302444

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX