首页
学习
活动
专区
圈层
工具
发布

SpringBoot Security 访问API始终报401

前言 用POSTMAN或者在页面前端登录访问后端API时,始终返回401.返回401有很多原因造成的,主要分为两个方面来看: 配置上的问题。确实没有权限。...一、 UserDetails实现类里的getAuthorities重写方法,返回null. public class UserDto extends DeepflowAbstractDto implements...,如果返回null的话,即使数据库里给用户配置了角色,框架也认为这个用户没有任何角色可以访问这个api,自然也就报401异常。...,没有用户的角色的话,在上一步return authorities;任然会返回一个null.所以这里把注释去掉应该就可以了。...三、访问@PreAuthorize修饰的方法报401 当访问某些被@PreAuthorize(“hasRole(‘ADMIN’)”)注解修饰的方法时,登录用户已经配置了ADMIN角色,可还是报401。

4.2K10

Spring OAuth2 实现始终获取新的令牌

Spring基于OAuth2协议编写的spring-oauth2实现,是行业级的接口资源安全解决方案,我们可以基于该依赖配置不同客户端的不同权限来访问接口数据。...推荐阅读 SpringBoot2.x 教程汇总 默认令牌生成方式 每当我们获取请求令牌(access_token)时,默认情况返回第一次生成的令牌,使用同一个用户多次获取令牌时,只有过期时间在缩短,其它的内容不变...(这也就是同一个账户不同人登录时返回同一个令牌的逻辑),如果令牌已经过期,则删除刷新令牌(refresh_token)、请求令牌(access_token)后重新生成。...DefaultTokenServices类内的全部代码,创建一个名为OverrideTokenServices的类,为了兼容原来的逻辑,需要添加一个全局变量alwaysCreateToken,用于判定是否始终创建令牌...existingAccessToken = this.tokenStore.getAccessToken(authentication); // 根据alwaysCreateToken字段判定是否始终创建令牌

2.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Mybatis使用generatedKey在插入数据时返回自增id始终为1,自增id实际返回到原对象当中的问题排查

    今天在使用数据库的时候,遇到一个场景,即在插入数据完成后需要返回此数据对应的自增主键id,但是在使用Mybatis中的generatedKey且确认各项配置均正确无误的情况下,每次插入成功后,返回的都是...终于凭借着一次Debugg发现的问题,原来在使用Mabatis中的insert或者insertSelective方式插入时,如使用int insert(TestGenKey testGenKey)时,返回值...int表示的是插入操作受影响的行数,而不是指的自增长id,那么返回的自增id到底去哪里了呢?...通过下面的Debugg我们知道自增id返回到testGenKey的原对象中去了。 举例示范配置 数据库示例表  generator的配置文件 <?...sex.trim(); } } 测试及Debugg 编写测试方法测试插入 插入成功后观察对应的变量对应的值 总结:调用Insert后插入操作之后,所得到自增长Id被赋值到原对象当中,而不是返回值

    4.1K10

    开发常见权限框架

    Spring Security(主流、强大、官方推荐) 简介: Spring Security 是 Spring 官方提供 的安全框架,功能强大,支持 用户认证、角色权限管理、OAuth2、JWT、CSRF...特点: ✅ 基于过滤器链,灵活可扩展 ✅ 支持 RBAC(基于角色的访问控制) ✅ 可集成 OAuth2、JWT 实现单点登录(SSO) ✅ 适用于 Spring Boot & Spring MVC...Exception { http.authorizeHttpRequests(auth -> auth .requestMatchers("/admin/**").hasRole...Keycloak(企业级认证、OAuth2 & SSO 方案) 简介: Keycloak 是 Red Hat 维护的开源 IAM(身份和访问管理)解决方案,支持 OAuth2、OpenID Connect...StpUtil.getLoginId()); 3️⃣ 权限控制 // 检查是否拥有权限 StpUtil.checkPermission("user:add"); // 判断是否拥有某个角色 if (StpUtil.hasRole

    38310

    第十八章:SpringBoot项目中使用SpringSecurity整合OAuth2设计项目API安全接口服务

    自定义401错误码内容 我们上图已经用到了对应的类CustomAuthenticationEntryPoint,该类是用来配置如果没有权限访问接口时我们返回的错误码以及错误内容,代码如下图21所示: ?...图27 我们可以看到直接给我们返回了一个页面,这样就不对了,我们应该得到一个401的错误码以及自定义的信息才对,当然我们需要添加一些配置来完成这个功能,我们打开application.properties...图29 可以看到正如我们预期一样,返回了401错误以及我们自定义的错误码”Access Denied“,下面我们来获取access_token。...成功访问后oauth2给我们返回了几个参数: access_token:本地访问获取到的access_token,会自动写入到数据库中。...这个就是我们之前获取token时,oauth2给我们返回的refresh_token值,我们需要用到该值来进行刷新token。

    3.7K40
    领券