V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cyrbuzz
V2EX  ›  程序员

一个关于权限验证的适配问题。

  •  
  •   cyrbuzz ·
    HuberTRoy · 2020-07-20 16:46:57 +08:00 · 1416 次点击
    这是一个创建于 1617 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景是这样的:

    一个项目上分了很多细小功能点,所有的触发方式均为点击触发,点击后执行的逻辑各不相同,分散在不同的文件里。

    现在要加一个权限验证,在每个功能点击之后进行验证,验证的逻辑相同。

    常见的类似场景是可以输入评论但如果没登录会在点击发送后会弹出去登录的弹窗。

    这个逻辑我的实现是封装验证逻辑,去每个功能点的点击事件里添加这个验证逻辑,困扰我的地方是功能点非常多,写在不同地方,找起来会费一些时间,而且后续将这个功能砍掉之后的清理工作也变得很麻烦(真的砍掉了....),请教有什么更好的实现方法呢?

    6 条回复    2020-07-21 11:01:18 +08:00
    fightingZ
        1
    fightingZ  
       2020-07-20 18:30:07 +08:00 via Android
    把点击和验证封装成一个,是不是就可以了
    limuyan44
        2
    limuyan44  
       2020-07-20 18:43:25 +08:00
    请求的时候加个拦截,axios 之类的不是都可以加个拦截器啥的,还有就是这种不都是服务端加个拦截器没登录重定向到登录页面之类的吗。
    wmhx
        3
    wmhx  
       2020-07-20 19:02:18 +08:00
    java_web 的拦截器? 监听器? 不是很多?
    jorneyr
        4
    jorneyr  
       2020-07-20 19:13:50 +08:00
    这个应该是异步操作,后端拦截告诉你某个操作无权或者需要登陆才可以访问,前端得到这个响应后拦截处理比较好。前端在做某个操作前可以不用拦截判断,默认就是能够操作的,等后端通知就好。
    cyrbuzz
        5
    cyrbuzz  
    OP
       2020-07-21 10:45:53 +08:00
    @fightingZ

    可以,很多,不好维护。
    cyrbuzz
        6
    cyrbuzz  
    OP
       2020-07-21 11:01:18 +08:00
    @limuyan44
    @wmhx
    @jorneyr

    现在采用这种方式,在 axios 处写了一个拦截器,可以统一管理好维护,谢谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5124 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 03:48 · PVG 11:48 · LAX 19:48 · JFK 22:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.