陈砚行 2023-12-08 09:36 采纳率: 33.3%
浏览 4

SpringSecurity自定义权限校验,获取不到当前登录的用户信息

在使用SpringSecurity的时候,我登录的时候可以通过authentication 获取到当前登录的用户信息

img


但是我写了一个自定义权限校验,参数是 request 和authentication
但是 调用当前用户信息的时候就是匿名用户

img

这是配置信息

img

该怎么获取到当前用户的信息

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-12-08 13:09
    关注

    【相关推荐】



    • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/728213
    • 这篇博客也不错, 你可以看下Spring Security使用Authentication获取当前用户信息
    • 除此之外, 这篇博客: 一文梳理SpringSecurity中的登录认证流程中的 Authentication接口类 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      认证凭据类需要实现的接口,它的源码如下:

      public interface Authentication extends Principal, Serializable {
          // 获取权限列表
          Collection<? extends GrantedAuthority> getAuthorities();
          // 获取凭据,登录密码或者短信验证码、访问token
          Object getCredentials();
          // 获取认证详情,可自定义
          Object getDetails();
          // 获取认证信息,用户名或者手机号码等  
          Object getPrincipal();
          // 是否认过证标识
          boolean isAuthenticated();
          // 设置是否认证过
          void setAuthenticated(boolean authenticated) throws IllegalArgumentException;
      }
      

      与用户名和密码登录相关的Authentication接口实现类为UsernamePasswordAuthenticationToken

      该类继承自AbstractAuthenticationToken抽象类, 它实现了Authentication接口中的大部分方法

      AbstractAuthenticationToken抽象类的继承和实现关系图如下:
      AbstractAuthenticationToken
      UsernamePasswordAuthenticationToken类继承自AbstractAuthenticationToken抽象类,并提供了两个构造方法,用于构造实例
      UsernamePasswordAuthenticationToken


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 12月8日

悬赏问题

  • ¥20 需要帮我远程操控一下,运行一下我的那个代码,我觉得我无能为力了
  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?