[SpringSecurity]
唐火
开始人工智能之路了!!!
展开
-
[SpringSecurity]web权限方案_CSRF功能
CSRF 具体过程可以阅读CsrfFilter这个过滤器的源码 CSRF 理解 关闭安全配置的类中的 csrf // http.csrf().disable(); CSRF功能默认是已经打开了!原创 2022-03-01 00:00:28 · 102 阅读 · 0 评论 -
[SpringSecurity]web权限方案_自动登陆_原理分析和具体实现
自动登陆 1.cookie技术 2.安全框架机制实现自动登陆 这里我们使用安全框架机制实现自动登陆技术 实现原理 具体实现 第一步 创建数据库 CREATE TABLE `persistent_logins` ( `username` varchar(64) NOT NULL, `series` varchar(64) NOT NULL, `token` varchar(64) NOT NULL, `last_used` timestamp NOT NULL DEFAULT CURRENT_TI原创 2022-03-01 00:00:25 · 107 阅读 · 0 评论 -
[SpringSecurity]web权限方案_用户注销
用户注销 在配置类中添加退出映射地址 //退出 http.logout().logoutUrl("/logout").logoutSuccessUrl("/test/hello").permitAll(); 测试 修改配置类,登陆成功之后跳转到成功页面 在成功页面添加超链接,写设置退出路径 success.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="原创 2022-03-01 00:00:22 · 122 阅读 · 0 评论 -
[SpringSecurity]web权限方案_用户授权_注解使用
注解使用 @Secured 判断用户是否具有角色,可以访问方法,另外需要注意的是这里匹配的字符串需要添加前缀“ROLE_“。 使用注解先要开启注解功能! 启动类(配置类)开启注解 @EnableGlobalMethodSecurity(securedEnable = true) 在controller的方法上面使用注解,设置角色 @RestController @RequestMapping("/test") public class TestController { @GetMappi原创 2022-03-01 00:00:32 · 193 阅读 · 0 评论 -
[SpringSecurity]web权限方案_用户授权_自定义403页面
自定义403页面 unauth.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>没有访问权限</h1> </body> </html> 配置类 //配置没有权限访问跳原创 2022-02-28 21:34:29 · 153 阅读 · 0 评论 -
[SpringSecurity]web权限方案_用户授权_基于权限访问控制_基于角色访问控制_hasAuthority和hasAnyAuthority_hasRole和hasAnyRole
基于角色或权限进行访问控制 hasAuthority 方法 如果当前的主体具有指定的权限,则返回 true,否则返回 false 在配置类设置当前访问地址有哪些 @Override protected void configure(HttpSecurity http) throws Exception { http.formLogin() //自定义自己编写的登陆页面 .loginPage("/login.html") //登陆页面设原创 2022-02-28 21:34:07 · 2401 阅读 · 0 评论 -
[SpringSecurity]web权限方案_用户认证_自定义用户登录页面
在配置类中实现相关的配置 @Override protected void configure(HttpSecurity http) throws Exception { http.formLogin() //自定义自己编写的登陆页面 .loginPage("/login.html") //登陆页面设置 .loginProcessingUrl("/user/login") //登陆访问路径原创 2022-02-28 21:34:04 · 187 阅读 · 0 评论 -
[SpringSecurity]web权限方案_用户认证_查询数据库完成认证
#mysql 数据库连接 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/demo?serverTimezone=UTC spring.datasource.username=root spring.datasource.password=root package com.atguigu.securitydemo1.config原创 2022-02-28 21:34:01 · 125 阅读 · 0 评论 -
[SpringSecurity]web权限方案_用户认证_设置用户名密码
设置登陆的用户名和密码 第一种方式:通过配置文件 spring.security.user.name=atguigu spring.security.user.password=atguigu 第二种方式:通过配置类 package com.atguigu.securitydemo1.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Con原创 2022-02-28 21:33:38 · 253 阅读 · 0 评论 -
[SpringSecurity]基本原理_两个重要的接口_UserDetailsService接口和PasswordEncoder接口
UserDetailsService接口 当什么也没有配置的时候,账号和密码是由 Spring Security 定义生成的。而在实际项目中 账号和密码都是从数据库中查询出来的。 所以我们要通过自定义逻辑控制认证逻辑。 如果需要自定义逻辑时,只需要实现 UserDetailsService 接口即可。接口定义如下: ⚫ 返回值 UserDetails 这个类是系统默认的用户"主体" 以下是 UserDetails 实现类 // 表示获取登录用户所有权限 Collection<? extends G原创 2022-02-28 21:33:33 · 545 阅读 · 0 评论 -
[SpringSecurity]基本原理_过滤器加载过程
过滤器如何进行加载的? 1.使用SpringSecurity配置过滤器 DelegatingFilterProxy 其中上面的getTargetBeanName()得到的名字是FilterChainProxy 找到FilterChainProxy这个类中的doFilter方法 最后两张图片里面的代码表示: 用了一个增强for循环和getFilters方法,把过滤器都加载进来! ...原创 2022-02-28 21:33:27 · 172 阅读 · 1 评论 -
[SpringSecurity]基本原理_过滤器链
SpringSecurity 本质是一个过滤器链: 从启动是可以获取到过滤器链: org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFil ter org.springframework.security.web.context.SecurityContextPersistenceFilter org.springframework.security.web.header.HeaderWrite原创 2022-02-28 21:33:10 · 203 阅读 · 0 评论 -
[SpringSecurity]HelloWorld入门案例
入门案例 第一步 创建springboot工程 第二步 引入相关依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency&g原创 2022-02-28 21:33:04 · 77 阅读 · 0 评论 -
[SpringSecurity]框架概述
概要 Spring 是非常流行和成功的 Java 应用开发框架,Spring Security 正是 Spring 家族中的 成员。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方 案。 正如你可能知道的关于安全方面的两个主要区域是“认证”和“授权”(或者访问控 制),一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权 (Authorization)两个部分,这两点也是 Spring Security 重要核心功能。 (1转载 2022-02-28 21:32:59 · 137 阅读 · 0 评论