依赖

        <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>

注入bean

@SpringBootApplication
public class UserApplication { public static void main(String[] args) {
SpringApplication.run(UserApplication.class, args);
} @Bean
public BCryptPasswordEncoder encoding(){
return new BCryptPasswordEncoder();
}
}

安全配置类

authenticated()要求认证后才能访问。

如果用户没有认证的话,Spring SecurityFilter将会捕获该请求,并将用户重定向到应用的登录页面。

/**
* 安全配置类
*/
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception { //authorizeRequests:声明配置是权限配置
//antMatchers:路径
//permitAll:任何权限都可以访问,不需要身份认证
//anyRequest:任何请求
//authenticated:认证后才能访问
//and().csrf().disable():固定写法,表示csrf拦截失效 http
.authorizeRequests()
.antMatchers("/**").permitAll()
.anyRequest().authenticated()
.and().csrf().disable();
}
} access(String) 如果给定的SpEL表达式计算结果为true,就允许访问 anonymous() 允许匿名用户访问 authenticated() 允许认证的用户进行访问 denyAll() 无条件拒绝所有访问 fullyAuthenticated() 如果用户是完整认证的话(不是通过Remember-me功能认证的),就允许访问 hasAuthority(String) 如果用户具备给定权限的话就允许访问 hasAnyAuthority(String…) 如果用户具备给定权限中的某一个的话,就允许访问 hasRole(String) 如果用户具备给定角色(用户组)的话,就允许访问 hasAnyRole(String…) 如果用户具有给定角色(用户组)中的一个的话,允许访问 hasIpAddress(String) 如果请求来自给定ip地址的话,就允许访问 not() 对其他访问结果求反 permitAll() 所有权限无条件允许访问 rememberMe() 如果用户是通过Remember-me功能认证的,就允许访问

密码加密与解密

	@Autowired
private BCryptPasswordEncoder encoding; public void add(Admin admin) {
//加密
admin.setPassword(encoding.encode(admin.getPassword()));
adminDao.save(admin);
} encoding.matches(admin.getPassword(),sqlAdmain.getPassword())

Spring Boot 配置 Security 密码加密的更多相关文章

  1. spring boot配置druid连接池连接mysql

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  2. Spring boot配置多个Redis数据源操作实例

    原文:https://www.jianshu.com/p/c79b65b253fa Spring boot配置多个Redis数据源操作实例 在SpringBoot是项目中整合了两个Redis的操作实例 ...

  3. Spring Boot -- 配置切换指南

    一般在一个项目中,总是会有好多个环境.比如: 开发环境 -> 测试环境 -> 预发布环境 -> 生产环境 每个环境上的配置文件总是不一样的,甚至开发环境中每个开发者的环境可能也会有一 ...

  4. Spring Boot 配置优先级顺序

    一般在一个项目中,总是会有好多个环境.比如: 开发环境 -> 测试环境 -> 预发布环境 -> 生产环境 每个环境上的配置文件总是不一样的,甚至开发环境中每个开发者的环境可能也会有一 ...

  5. spring boot 配置注入

    spring boot配置注入有变量方式和类方式(参见:<spring boot 自定义配置属性的各种方式>),变量中又要注意静态变量的注入(参见:spring boot 给静态变量注入值 ...

  6. spring boot配置springMVC拦截器

    spring boot通过配置springMVC拦截器 配置拦截器比较简单, spring boot配置拦截器, 重写preHandle方法. 1.配置拦截器: 2重写方法 这样就实现了拦截器. 其中 ...

  7. spring boot配置mybatis和事务管理

    spring boot配置mybatis和事务管理 一.spring boot与mybatis的配置 1.首先,spring boot 配置mybatis需要的全部依赖如下: <!-- Spri ...

  8. [转] Spring Boot配置多个DataSource

    [From]  https://www.liaoxuefeng.com/article/001484212576147b1f07dc0ab9147a1a97662a0bd270c20000 Sprin ...

  9. Spring boot 配置异步处理执行器

    示例如下: 1. 新建Maven 项目 async-executor 2.pom.xml <project xmlns="http://maven.apache.org/POM/4.0 ...

随机推荐

  1. sql基础学习

    学习参考网站:http://www.runoob.com/sql/sql-tutorial.html 一.SQL命令 1.SELECT 语句 用于从数据库中选取数据. select column_na ...

  2. Codeforces 1167C - News Distribution

    题目链接:http://codeforces.com/problemset/problem/1167/C 题意:大概就是分成几个小团体,给每个人用1 - n编号,当对某个人传播消息的时候,整个小团体就 ...

  3. 20140401 cudaHOG代码

    1.cudaHOG代码(删减没有必要的目录) cudaHOGDetect需要boost库:boost_date_time-vc100-mt-1_40.lib VC++目录->附加库目录D:\bo ...

  4. ECMAScript1.1 js书写位置 | 声明变量 | 基本数据类型 | 数据类型转换 | 操作符 | 布尔类型的隐式转换

    js书写位置 由于在写css样式时使用的时双引号,所以我们在写js代码时建议使用单引号(‘’)! 行内式 <input type="button" value="点 ...

  5. Elasticsearch 搭建

    最近需要用到Elasticsearch.下面简单介绍下Elasticsearch的搭建过程: ElasticSearch 使用java编写, 所以需要安装 Java 6以上 环境来运行. 并且确保设置 ...

  6. 关于a[::-1]

    b = a[i:j]   表示复制a[i]到a[j-1],以生成新的list对象,a[:]就相当于完整复制一份a b = a[i:j:s]表示:i,j与上面的一样,但s表示步进,缺省为1.即从i到j每 ...

  7. 2018-8-10-WPF-使用-Direct2D1-画图-绘制基本图形

    title author date CreateTime categories WPF 使用 Direct2D1 画图 绘制基本图形 lindexi 2018-08-10 19:16:53 +0800 ...

  8. Spark与Hadoop的对比

  9. flask 使用hashlib加密

    flask 使用hashlib加密 import hashlib #引入hashlib #使用方法: password = ' sha1 = hashlib.sha1() #使用sha1加密方法,你还 ...

  10. 【JZOJ4474】【luoguP4071】排列计数

    description 求有多少种长度为 n 的序列 A,满足以下条件: (1)1 ~ n 这 n 个数在序列中各出现了一次 (2)若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 ...