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

淘宝登陆的技术实现

  •  
  •   muzzy · 2015-11-03 16:02:23 +08:00 · 4577 次点击
    这是一个创建于 3312 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,淘宝在点击查看订单等有安全需求的动作时,会让用户重新登录,是如何实现的。

    18 条回复    2015-11-04 10:56:52 +08:00
    xfspace
        1
    xfspace  
       2015-11-03 16:13:46 +08:00 via Android
    这个也难,得叫你的老师解释解释。 session 过期时间
    fising
        2
    fising  
       2015-11-03 16:17:40 +08:00
    @xfspace 看清楚再喷
    kingwrcy
        3
    kingwrcy  
       2015-11-03 16:24:22 +08:00
    拦截器?
    domty
        4
    domty  
       2015-11-03 16:28:22 +08:00
    @fising
    这不就是 session 过期了吗
    大的 session 里设置永不超时,在 session 里再设一个过期时间比如叫 s_session
    当有上述请求的时候查看 s_session 是否超时 超时指示登录
    登录刷新两个 session
    shuson
        5
    shuson  
       2015-11-03 16:28:46 +08:00
    如果用是 java applications ,我觉得本质上是 java servlet filter
    其他的语言基本也类似,比如 laravel 的 middleware , node 的话,像 express 的 middleware
    或者直接 route level 做 redirection
    yh7gdiaYW
        6
    yh7gdiaYW  
       2015-11-03 16:29:21 +08:00   ❤️ 2
    路过吐槽一发
    这功能简直反人类,查个物流还得登陆
    shakoon
        7
    shakoon  
       2015-11-03 16:30:37 +08:00
    这没什么难度吧…… A→B 改成了 A→C→B 而已
    tonyVex
        8
    tonyVex  
       2015-11-03 16:42:58 +08:00
    拦截功能吧。
    lzsadam
        9
    lzsadam  
       2015-11-03 16:45:11 +08:00
    我觉得一部分是 cookie ,一部分是 session ……
    FrankFang128
        10
    FrankFang128  
       2015-11-03 16:47:00 +08:00
    就是两个登录状态吧。
    一个弱安全状态(持续时间长),一个强安全状态(持续时间短, session 时长)。
    Qlccks2
        11
    Qlccks2  
       2015-11-03 17:10:21 +08:00
    还是 session 吧,只要浏览器不关,只要输入一次。
    tabris17
        12
    tabris17  
       2015-11-03 17:12:13 +08:00
    session 过期了, cookie 还在呢
    puras
        13
    puras  
       2015-11-03 17:18:04 +08:00
    在后台标识你是使用账号密码登录进来的,还是通过 Cookie 自动登录进来的。
    如果是自动登录进来的,便要求用户重新登录一次,反之则可以直接查看。

    Shiro 里有类似的功能,可以参考。
    plqws
        14
    plqws  
       2015-11-03 17:45:35 +08:00
    就是 session 不通用嘛…
    Tink
        15
    Tink  
       2015-11-03 19:06:58 +08:00
    这不是 session 吗??
    muzzy
        16
    muzzy  
    OP
       2015-11-03 19:36:53 +08:00
    是我没表达清楚,这里不涉及 session 时间。主要是那个登录框的实现。比如单击立刻购买按钮,他就是在页面上方悬浮一个登陆框,登陆后立即购买按钮生效。
    crab
        17
    crab  
       2015-11-03 21:32:54 +08:00
    是异地登录号关系,比如登录别人的号。
    jwangkun
        18
    jwangkun  
       2015-11-04 10:56:52 +08:00
    淘宝的技术架构是 java+oracle ,涉及到资金安全操作的时候二次验证是通过 filter 来控制的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1277 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 23:33 · PVG 07:33 · LAX 15:33 · JFK 18:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.