Spring Security使用详解1(基本用法 )

一般项目都会有严格的认证和授权操作,而在 Java 开发领域常见的安全框架有 Shiro 和 Spring Security。本文首先介绍下后者。

一、基本用法

1、什么是 Spring Security ?

  • Spring Security 是一个相对复杂的安全管理框架,功能比 Shiro 更加强大,权限控制细粒度更高,对 OAuth 2 的支持也更友好。
  • 由于 Spring Security 源自 Spring 家族,因此可以和 Spring 框架无缝整合,特别是 Spring Boot 中提供的自动化配置方案,可以让 Spring Security 的使用更加便捷。

2、安装配置

我们只需要编辑 pom.xml,添加 spring-boot-starter-securtiy 依赖即可。添加后项目中所有的资源都会被保护起来。 

1<dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-security</artifactId> 4</dependency>

3、开始测试

(1)首先在项目添加一个简单的 /hello 接口:

1@RestController 2public class HelloController { 3 4 @GetMapping("/hello") 5 public String hello() { 6 return "欢迎访问 hangge.com"; 7 } 8}

(2)接着启动项目,直接访问 /hello 接口则会自动跳转到登录页面(这个登录页面是由 Spring Security 提供的)

(3)我们必须登录后才能访问 /hello 接口。默认用户名是 user,而登录密码则在每次启动项目时随机生成,我们可以在项目启动日志中找到。

(4)登录后则会自动跳转到之前我访问的 /hello 接口:

4、配置用户名和密码
如果对默认的用户名和密码不满意,可以在 application.properties 中配置默认的用户名、密码和角色。这样项目启动后就不会随机生成密码了,而是使用我们配置的用户、密码,并且登录后还具有一个 admin 角色(关于角色的用法再后面的文章会相信介绍)。

1spring.security.user.name=hangge 2spring.security.user.password=123 3spring.security.user.roles=admin
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

Spring Security 5 集成 Authing OIDC 单点登录指南

本文以Spring生态中用于提供认证及访问权限控制的SpringSecurity5为例,详细介绍SpringSecurity5如何接入AuthingOIDC。SpringSecurity是一个提供安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了SpringIoC

Spring Security 案例实现和执行流程剖析

SpringSecuritySpringSecurity是Spring社区的一个顶级项目,也是SpringBoot官方推荐使用的安全框架。除了常规的认证(Authentication)和授权(Authorization)之外,SpringSecurity还提供了诸如ACLs,LDAP,JAAS,CAS等高

Shiro权限相关配置文件

Shiro权限框架开发系统中,少不了权限,目前java里的权限框架有SpringSecurity和Shiro(以前叫做jsecurity),对于SpringSecurity:功能太过强大以至于功能比较分散,使用起来也比较复杂,跟Spring结合的比较好。对于初学SpringSecurity者来说,曲线还是较大,需要深入学习其源码和框架,配置起

Spring Security使用详解1(基本用法 ) - HelloWorld