资讯专栏INFORMATION COLUMN

几分钟实现Spring security权限认证管理

BingqiChen / 2446人阅读

摘要:配置实现接口,同时重写方法。再未登录时访问非许可的接口会转到登录。效果如下登录成功后访问我们很方便的实现了登录授权,使得我们的得到了保护。如需指定区分不同角色下的访问权限时只要在加上一下注解即可。

一、构建项目

话不多说直接开始。

pom.xml:

spring security的核心依赖如下



org.springframework.boot
spring-boot-starter-security



org.springframework.security
spring-security-data

配置用户主类:User 同时实现security 的 UserDetails

重写它的几个方法,默认配置为 false 需变为 true。

配置 UserService 实现 UserDetailsService 接口
,同时重写 loadUserByUsername 方法 。

该方法是security登录时使用的方法,查询的信息的需包含用户(User)信息以及角色(Role)信息。

二、测试

创建 UserController, 由于我们在上面配置了.antMatchers("/login","/register") 使得在未登录时只允许访问这两个接口。

再未登录时访问非许可的接口会转到login登录。
效果如下:

登录成功后访问 /users

我们很方便的实现了登录授权,使得我们的API得到了保护。
如需指定区分不同角色下的访问权限时只要在Controller加上一下注解即可。

@PreAuthorize("hasRole("ROLE_ADMIN")")//需要管理员身份

@PreAuthorize("hasRole("ROLE_USER")")//需要用户身份

三、结束

通过以上的简要叙述我们完成了Springboot + mybatis 整合 Spring security。
由于时间有限在文中只做简要叙述,访问我的Github查看完整的Demo。

url: https://github.com/admin79/SecurityDemo

原文同步至 https://www.waytoa.top

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71822.html

相关文章

  • Spring Security

    摘要:框架具有轻便,开源的优点,所以本译见构建用户管理微服务五使用令牌和来实现身份验证往期译见系列文章在账号分享中持续连载,敬请查看在往期译见系列的文章中,我们已经建立了业务逻辑数据访问层和前端控制器但是忽略了对身份进行验证。 重拾后端之Spring Boot(四):使用JWT和Spring Security保护REST API 重拾后端之Spring Boot(一):REST API的搭建...

    keelii 评论0 收藏0
  • 基于spring-security-oauth2实现单点登录(持续更新)

    摘要:认证服务器和浏览器控制台也没有报错信息。这里简单介绍下如何查阅源码,首先全局搜索自己的配置因为这个地址是认证服务器请求授权的,所以,请求认证的过滤器肯定包含他。未完待续,下一篇介绍资源服务器和认证服务器的集成。 基于spring-security-oauth2-实现单点登录 文章代码地址:链接描述可以下载直接运行,基于springboot2.1.5,springcloud Green...

    妤锋シ 评论0 收藏0
  • 源码-Spring Security Oauth2

    摘要:给定一个作为方法参数传递的域对象实例,确保类要绑定合适的权限。对或或检查与验证。检查是否在客户端的权限范围内。匹配默认的前缀字符串是的,如果匹配到则授权,如授权范围。实现类轮询所有配置的每个配置,并且如果全部是肯定才能授予访问权限。 03.01-源码-Spring Security Oauth2 @(技术-架构)[源码, 权限, Security, Oauth2] Oauth2 是一个...

    AWang 评论0 收藏0
  • 不用 Spring Security 可否?试试这个小而美的安全框架

    摘要:写在前面在一款应用的整个生命周期,我们都会谈及该应用的数据安全问题。用户的合法性与数据的可见性是数据安全中非常重要的一部分。 写在前面 在一款应用的整个生命周期,我们都会谈及该应用的数据安全问题。用户的合法性与数据的可见性是数据安全中非常重要的一部分。但是,一方面,不同的应用对于数据的合法性和可见性要求的维度与粒度都有所区别;另一方面,以当前微服务、多服务的架构方式,如何共享Sessi...

    toddmark 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<