V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
delavior
V2EX  ›  问与答

前后端分离后台权限验证怎么处理啊

  •  
  •   delavior · 2015-06-11 08:51:48 +08:00 · 4193 次点击
    这是一个创建于 3452 天前的主题,其中的信息可能已经有所发展或是发生改变。
    想法是后台只返回数据,页面都由前端渲染和控制跳转,想问一下如果用java做后台权限验证怎么实现
    之前的想法是用spring security,但现在页面如果由前台跳转的话,一跳转页面就会导致新建session,使得已经验证过的权限丢失。
    请教一下用什么方式可以实现比较简单的权限验证
    12 条回复    2015-06-14 14:08:25 +08:00
    crs0910
        1
    crs0910  
       2015-06-11 09:00:23 +08:00
    单页,用router
    Muninn
        2
    Muninn  
       2015-06-11 09:08:15 +08:00   ❤️ 1
    如果有做移动端的考虑
    那么后端就是RESTful API
    验证用oauth2
    每个请求都要附带token
    不去依赖session了
    bugsnail
        3
    bugsnail  
       2015-06-11 09:14:58 +08:00
    这个我也很想知道用PHP是怎么样实现的一个思路,最近有个需求类似二级密码的要求。
    neilwong
        4
    neilwong  
       2015-06-11 12:39:40 +08:00
    登录成功后,把token写进cookie里,然后每次请求验证一下token就好了
    delavior
        5
    delavior  
    OP
       2015-06-11 13:05:46 +08:00
    @crs0910 不太懂啊
    delavior
        6
    delavior  
    OP
       2015-06-11 13:06:46 +08:00
    @Muninn oauth没用过,能简单说一下实现流程吗
    delavior
        7
    delavior  
    OP
       2015-06-11 13:09:20 +08:00
    @neilwong 这个好像比较简单,我试一下,谢谢
    Muninn
        8
    Muninn  
       2015-06-11 14:26:35 +08:00
    http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html

    不过"理解" 了 离写出来还很远...

    各大语言和框架都有现成的轮子吧 但是据我观察服务端的轮子比客户端少很多..不是那么好找
    yimity
        9
    yimity  
       2015-06-11 17:17:42 +08:00
    你总是要登录的吧,登录之后总是要 ajax 拿数据的吧,那么你就和以前的验证机制一样就行了么。
    iyangyuan
        10
    iyangyuan  
       2015-06-12 08:37:23 +08:00 via iPhone
    页面跳转为何会丢失session?session路径不对吧
    delavior
        11
    delavior  
    OP
       2015-06-12 09:03:49 +08:00
    @iyangyuan 不知啊,spring security自动管理的session,我没有做任何处理
    neilwong
        12
    neilwong  
       2015-06-14 14:08:25 +08:00
    @delavior 一般session都会有一个session_name, 例如 v2ex的是:PB3_SESSION,然后每一个用户有一个唯一的 session_id,当用户第一次请求时就会按照 session_name:session_id 以key:value的形式写到cookie,这样每次请求,服务端就会根据session_id获取你的缓存内容,所以楼主可以根据这个流程检查下到底哪里出了问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1422 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:23 · PVG 01:23 · LAX 09:23 · JFK 12:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.