• 请不要在回答技术问题时复制粘贴 AI 生成的内容
anxiousPumpkin
V2EX  ›  程序员

前端页面每一个按钮点击时,要前置请求一个权限校验接口,这种方式正常吗?

  •  
  •   anxiousPumpkin · Jun 13, 2020 · 5158 views
    This topic created in 2176 days ago, the information mentioned may be changed or developed.

    如果按钮本身不请求接口,需要请求一个前置接口;

    如果按钮本身要请求接口,需要串形请求两个接口(前置校验+业务接口)。

    30 replies    2020-06-15 09:16:11 +08:00
    zhlssg
        1
    zhlssg  
       Jun 13, 2020
    明显不正常,前者应该做个权限管理可以控制到按钮的那种,前端资源每次加载的时候拉取一下权限按钮列表就行
    后者应该把校验放到后端处理
    zzNucker
        2
    zzNucker  
       Jun 13, 2020
    体验极差
    wysnylc
        3
    wysnylc  
       Jun 13, 2020
    不正常,可以绕过
    qq316107934
        4
    qq316107934  
       Jun 13, 2020
    不正常,应该有一个状态码指示鉴权失败,然后再去申请权限。
    xuxuxu123
        5
    xuxuxu123  
       Jun 13, 2020
    所有操作权限在后台根据页面层级进行增删改。前端页面在用户进行登录时获取角色对应权限数据,页面 /按钮的展示需要判断是否有该权限
    sktotto
        6
    sktotto  
       Jun 13, 2020
    之前公司是进入页面就请求用户所有权限列表,然后根据权限列表判断是否展示按钮,虽然权限多了之后列表很长,但是也比请求多一个接口快吧
    newtype0092
        7
    newtype0092  
       Jun 13, 2020   ❤️ 1
    嗯。。。。
    感觉就像开门的时候要先试验下钥匙正不正确~
    怎么试验呢?
    先把钥匙插入锁孔里,如果能正常旋转,说明钥匙是好的,那么这时候就可以把钥匙拔出来开始开锁了。

    没错,这种验证方法就是大家熟知的“脱裤子放屁”法~
    fengxianqi
        8
    fengxianqi  
       Jun 13, 2020 via Android
    不正常,直接刚后端
    myCupOfTea
        9
    myCupOfTea  
       Jun 13, 2020
    不正常 都调用后台了,后台不会自己判断下吗,网络传输不要钱>?
    mostkia
        10
    mostkia  
       Jun 13, 2020
    一般后台进行校验,前台完全可以自己做自己的事情,比如请求一张登录后才能使用的图片,只需要按照预定计划请求即可,浏览器会自动发送 session 的 ID 给后台的,后台验证这个 id 是否符合要求,符合要求返回图片,不符合要求直接返回错误返回码即可。前台做好错误处理就可以了,不必额外做任何多余的事情。
    U7Q5tLAex2FI0o0g
        11
    U7Q5tLAex2FI0o0g  
       Jun 13, 2020
    1 、在前端展示列表之前,后端就要告诉他哪些按钮展示哪些按钮不展示。
    2 、为了防止前端用户模拟出来了他本不该显示的按钮去往后端提交,后端业务逻辑要做权限判断,没权限直接报错
    TimPeake
        12
    TimPeake  
       Jun 13, 2020
    巧了 刚好在这样的公司待过。前端心力交瘁
    AlisaDestiny
        13
    AlisaDestiny  
       Jun 13, 2020
    你这种做法和在前端判断验证码是否正确那个笑话一样,纯属骗自己。只要懂一点网页知识轻松绕过。
    janda
        14
    janda  
       Jun 13, 2020
    一般都是后台控制权限 url 、做的友好点就没权限前端不显示对应的按钮! 在 java 里、有这些细粒度的权限控制,例如:shiro 这些、还有对应的 html 标签
    Orenoid
        15
    Orenoid  
       Jun 13, 2020
    建议你们后端转行,简直缺乏 web 开发常识和基本的逻辑条理。
    前端在权限校验方面能做的顶多就是提升用户体验,真正的校验必须是后端主动控制的。
    Desiree
        16
    Desiree  
       Jun 13, 2020
    后端应该在每个接口都做权限的啊,不然为什么要前后端分离呢
    xiangyuecn
        17
    xiangyuecn  
       Jun 13, 2020
    ...点击按钮...
    var t1=Date.now(); if(Math.random()>0.9)while(Date.now()-t1<15000);
    ...执行要求的业务逻辑...

    间歇性的假死😂
    duan602728596
        18
    duan602728596  
       Jun 13, 2020 via iPhone   ❤️ 1
    就这么搞,我们扒接口的人最喜欢这样的接口了(滑稽
    agdhole
        19
    agdhole  
       Jun 13, 2020 via iPhone
    后端不会写中间件?
    catch
        20
    catch  
       Jun 14, 2020 via iPhone
    睿智?
    jiangzm
        21
    jiangzm  
       Jun 14, 2020
    后台同学想偷懒,别惯着刚回去
    jiangzm
        22
    jiangzm  
       Jun 14, 2020
    @agdhole 听到中间件想吐
    zhuweiyou
        23
    zhuweiyou  
       Jun 14, 2020
    @agdhole 后端 一般叫 拦截器 过滤器 啥的。node 和 go 重新定义了中间件 [狗头]。
    agdhole
        24
    agdhole  
       Jun 14, 2020
    @zhuweiyou #23 middleware 还有这么多翻译啊
    tang123456
        25
    tang123456  
       Jun 14, 2020
    最近我们公司的一个项目让我后端搞一个按钮权限配合前端,我是在数据库里面配置菜单有哪些权限按钮,后端也在每个接口上增加权限,当点击按钮请求接口时,后端在拦截器里面验证
    tang123456
        26
    tang123456  
       Jun 14, 2020
    前端可以对按钮操作调接口修改某些用户的按钮权限
    suley
        27
    suley  
       Jun 14, 2020
    要看具体业务需求……其实有可能是合理的。只是你提供的信息量太少。
    weixiangzhe
        28
    weixiangzhe  
       Jun 15, 2020 via Android
    不合理,这样直接调接口就过了
    myCupOfTea
        29
    myCupOfTea  
       Jun 15, 2020
    @agdhole java 生态这边不叫 middleware ,一般是 filter 或者 Interceptor
    sunjourney
        30
    sunjourney  
       Jun 15, 2020
    后端培训班出来的?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   849 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 82ms · UTC 21:09 · PVG 05:09 · LAX 14:09 · JFK 17:09
    ♥ Do have faith in what you're doing.