Spring Security 使用(一)-- 简单入门 2022-07-02 程序之旅,记录 暂无评论 772 次阅读 ## Spring Security 使用(一)-- 简单入门 ### Spring Security 介绍 [官方介绍](https://spring.io/projects/spring-security) > Spring Security 是一个`功能强大且高度可定制`的身份验证和访问控制框架。它是保护基于 Spring 的应用程序的事实标准。 > > Spring Security 是一个专注于为 Java 应用程序`提供身份验证和授权的框架`。像所有 Spring 项目一样,Spring Security 的真正强大之处在于它可以轻松扩展以满足自定义需求 总而言之就是:认证和授权 ### Spring Security VS Shiro 目前的整个 java 开发中,还有另一个身份验证和访问控制的框架,就是 Apache Shiro。之前有也学习过 Shiro 的使用,并且也对其源码进行了阅读,[博文地址](https://blog.badguy.top/index.php/archives/232/)。Shiro 支持的功能 Spring Security 都支持,并且 Spring Security 还支持 Oauth 和 OpenID 功能。 | | Spring Security | Shiro | | ----------------------------- | --------------- | ---------- | | 易用性 | 困难、复杂 | 简单、灵活 | | Spring 依赖 | 强依赖 | 弱依赖 | | github start(2022年6月29日) | 6.9 k | 3.8 k | > Shiro上手快 ,控制粒度可糙可细 ,自由度高,可以独立运行。"Spring" 以简单而闻名,但很多人发现安装 Spring Security 很难,但是粒度比 Shiro 粒度更细,然而,Spring Security却有更好的社区支持。 ### Spring Security 功能和应用场景 Spring Security 的主要功能是:认证、授权和安全防护。认证主要是常用的用户登录,授权是判断用户拥有什么权限,安全防护是防止跨站请求,和 session 攻击。 #### 常用的应用场景 1、用户登录。 2、用户授权,在系统中用户拥有哪些权限。 3、单一登录。 4、集成 cas,即多个系统只需登录一次,无需重复登录。 5、集成 oauth2,做登录授权。 ### Spring Security 实际应用 项目地址: #### 创建 spring boot 项目 ##### 环境参数 - spring boot 2.7.1 - JDK 8 依赖 maven ```xml org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test ``` 创建 controller 文件 ```java @RestController public class HelloSecurityController { @RequestMapping("/hello") public String hello() { return "hello security"; } } ``` #### 导入 security 依赖 ```xml org.springframework.boot spring-boot-starter-security ``` 依赖 security 之后重启项目,再次访问 http://localhost:8081/hello 的接口,会跳转到认证界面 http://localhost:8081/login ![image-20220702171909171](https://mufeng-blog.oss-cn-beijing.aliyuncs.com/typecho/image-20220702171909171.png) > 用户名默认:user 密码控制台会有打印 打赏: 微信, 支付宝 标签: spring security 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。