delavior
V2EX  ›  问与答

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

  •  
  •   delavior · Jun 11, 2015 · 4811 views
    This topic created in 4163 days ago, the information mentioned may be changed or developed.
    想法是后台只返回数据,页面都由前端渲染和控制跳转,想问一下如果用java做后台权限验证怎么实现
    之前的想法是用spring security,但现在页面如果由前台跳转的话,一跳转页面就会导致新建session,使得已经验证过的权限丢失。
    请教一下用什么方式可以实现比较简单的权限验证
    12 replies  •  2015-06-14 14:08:25 +08:00
    catoncat
    catoncat
    Jun 11, 2015
    1
    单页,用router
    Muninn
    Muninn
    Jun 11, 2015❤️1
    2
    如果有做移动端的考虑
    那么后端就是RESTful API
    验证用oauth2
    每个请求都要附带token
    不去依赖session了
    bugsnail
    bugsnail
    Jun 11, 2015
    3
    这个我也很想知道用PHP是怎么样实现的一个思路,最近有个需求类似二级密码的要求。
    neilwong
    neilwong
    Jun 11, 2015
    4
    登录成功后,把token写进cookie里,然后每次请求验证一下token就好了
    delavior
    delavior
    OP
    Jun 11, 2015
    5
    @crs0910 不太懂啊
    delavior
    delavior
    OP
    Jun 11, 2015
    6
    @Muninn oauth没用过,能简单说一下实现流程吗
    delavior
    delavior
    OP
    Jun 11, 2015
    7
    @neilwong 这个好像比较简单,我试一下,谢谢
    Muninn
    Muninn
    Jun 11, 2015
    8
    http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html

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

    各大语言和框架都有现成的轮子吧 但是据我观察服务端的轮子比客户端少很多..不是那么好找
    yimity
    yimity
    Jun 11, 2015
    9
    你总是要登录的吧,登录之后总是要 ajax 拿数据的吧,那么你就和以前的验证机制一样就行了么。
    iyangyuan
    iyangyuan
    Jun 12, 2015 via iPhone
    10
    页面跳转为何会丢失session?session路径不对吧
    delavior
    delavior
    OP
    Jun 12, 2015
    11
    @iyangyuan 不知啊,spring security自动管理的session,我没有做任何处理
    neilwong
    neilwong
    Jun 14, 2015
    12
    @delavior 一般session都会有一个session_name, 例如 v2ex的是:PB3_SESSION,然后每一个用户有一个唯一的 session_id,当用户第一次请求时就会按照 session_name:session_id 以key:value的形式写到cookie,这样每次请求,服务端就会根据session_id获取你的缓存内容,所以楼主可以根据这个流程检查下到底哪里出了问题。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2336 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 15:48 · PVG 23:48 · LAX 07:48 · JFK 10:48
    ♥ Do have faith in what you're doing.