1.目标
- 知道什么是Spring Security
2.路径
- Spring Security简介
- Spring Security使用需要的坐标
3.讲解
3.1 Spring Security简介
Spring Security是 Spring提供的安全认证服务的框架。 使用Spring Security可以帮助我们来==简化认证和授权的过程。==官网:https://spring.io/projects/spring-security
常用的权限框架除了Spring Security,还有Apache的shiro框架。
3.2对应的maven坐标
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
4.小结
- SpringSecurity是Spring家族的一个安全框架, 简化我们开发里面的认证和授权过程
- SpringSecurity内部封装了Filter
- 常见的安全框架
- Spring的 SpringSecurity
- Apache的Shiro http://shiro.apache.org/
案例-Spring Security快速入门
1.需求
使用Spring Security进行控制: 网站(一些页面)需要登录才能访问
2.步骤
- 创建Maven工程 springsecurity_demo,导入坐标(依赖health_interface)
- 创建springsecurity.xml(1.自动配置 2.配置授权管理器)
- 配置web.xml(前端控制器, SpringSecurity相关的过滤器)
3.实现
-
创建maven工程,打包方式为war,
<?xml version="1.0" encoding="UTF-8"?><artifactId>springsecurity_demo</artifactId> <packaging>war</packaging> <dependencies> <dependency> <groupId>com.Better_Po</groupId> <artifactId>health_interface</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <!-- 指定端口 --> <port>85</port> <!-- 请求路径 --> <path>/</path> </configuration> </plugin> </plugins> </build>
-
创建spring-security.xml
<?xml version="1.0" encoding="UTF-8"?><!--1.配置需要权限才能访问的资源 auto-config属性: true 自动配置 use-expressions属性: false 不使用表达式 --> <security:http auto-config="true" use-expressions="false"> <!--配置拦截的路径 pattern属性: 拦截的路径规则; access属性:需要什么角色才能访问--> <security:intercept-url pattern="/**" access="ROLE_ADMIN"></security:intercept-url> </security:http> <!--2.配置认证管理器--> <security:authentication-manager> <security:authentication-provider> <security:user-service> <!--配置账号密码,以及该账号的角色信息 name属性: 用户名; password属性:密码({noop}不加密方式); authorities属性:赋予的角色 --> <security:user name="admin" authorities="ROLE_ADMIN" password="{noop}admin"></security:user> </security:user-service> </security:authentication-provider> </security:authentication-manager>
在spring-security.xml中主要配置Spring Security的拦截规则和认证管理器
-
配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
<servlet>