V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
attitude
V2EX  ›  程序员

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

  •  
  •   attitude · 2016-08-29 14:49:54 +08:00 · 2813 次点击
    这是一个创建于 2995 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    现在的话有一些人用 jwt 来做,感觉优点也不特别明显,有时候简化了一些东西吧
    fishioon
        6
    fishioon  
       2016-08-30 16:09:16 +08:00
    把这个 session_id 存 cookie 里
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2822 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:12 · PVG 20:12 · LAX 04:12 · JFK 07:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.