java吧 关注:1,289,445贴子:12,819,244
  • 63回复贴,共1

请教一个security方面的问题

只看楼主收藏回复

我一开始在配置文件里写了
.antMatchers("auth/xxx").permitAll()放行了一些url,后来添加了一个filter 做token校验,结果之前配的URL都会在此被拦截,我就只好在dofilter 里再过放行这些url。那前面配的是不是就可以省略掉了?有没有大佬能够点拨一下


IP属地:江苏来自Android客户端1楼2020-09-27 13:45回复
    大佬没来,黄图哥倒是挺快


    IP属地:江苏来自Android客户端3楼2020-09-27 13:50
    回复
      2025-11-29 05:25:39
      广告
      不感兴趣
      开通SVIP免广告
      添加filter做token校验是什么鬼?spring security拦截的本身不就是做token校验么?即使是自定义校验规则,也用不着自己写filter啊…………


      IP属地:辽宁4楼2020-09-27 14:34
      收起回复
        你要想清楚,spring security有一套自己的流程和标准,包括校验规则,失败的处理,成功的跳转,权限的验证。这些流程如果默认不满足需求的前提下是都留有钩子给你供你去扩展的。
        你非得要自己定义也没人拦你,但是你自己定义是你自己定义的,尤其是你的过滤器是先执行的,意味着没通过过滤的请求对spring security来说就相当于没请求过,而对于通过的请求,在spring security看来就相当于你没有写过过滤器,这样的话spring里面该怎么判断你还得怎么判断,spring security内部的逻辑与你的过滤器毫无关联,包括security的异常处理,失败提示,成功跳转都是如此。如果你自己的过滤依然需要这些功能,那么你需要重新自己去写逻辑,不能指望spring security内部去帮你做判断。


        IP属地:辽宁5楼2020-09-27 14:45
        收起回复
          我个人建议你把你的需求完完本本的讲出来,大家才好帮你拿主意如何去做。


          IP属地:辽宁6楼2020-09-27 14:48
          收起回复
            从我的了解来看,我觉得你现在要捋清楚你要做的东西。登录鉴权这一块没有那么简单。
            从你的描述来看,目前你要做的登录不仅仅是手机号登录,也有验证码登录,这两种登录模式的判断和跳转是需要你重写spring security认证流程的(包括AuthenticationToken,AuthenticationProvider等等,还需要自己写过滤器再加入到spring security的filterChain中)。而且你还提到了内外网的问题,这就又牵扯到了一个提供给第三方openApi的概念。你现在在贴子里说的需求都太零散了,不成体系,包括项目架构是否是前后端分离等等细节都会对代码造成影响(比如说spring security配置,前后端分离和不分离就完全是两种写法)


            IP属地:辽宁7楼2020-09-27 15:40
            收起回复




              IP属地:江苏8楼2020-09-27 17:23
              回复
                要这样的效果?


                IP属地:江苏9楼2020-09-27 17:23
                收起回复
                  2025-11-29 05:19:39
                  广告
                  不感兴趣
                  开通SVIP免广告


                  IP属地:江苏10楼2020-09-27 18:10
                  回复
                    用的什么架构阿,zuul还是java原生的filter


                    IP属地:北京来自iPhone客户端11楼2020-09-28 14:04
                    收起回复