SpringSecurity安全框架的笔记
- spring Security框架
web开发 设置安全 主要功能是对访问进行身份认证,访问控制, 菜单权限
只需要添加相关的启动器就可以实现,
添加成功后所有请求都会被拦截,必须走框架中自带的一个登陆页面,用户名是user 密码是控制台中有 只要通过了框架认证才可以进入访问资源
那么如何知道spring recurity框架的认证逻辑是怎么处理的呢? 就需要学习他的一个UserDetailsService 中文是用户详细信息这个对象信息
这是个接口,通过这个接口来做登录认证处理的
这个接口中有方法是
意思就是说通过这个接口中的抽象方法来做登录认证逻辑的,
这个方法返回的UserDetails也是一个接口,这个接口中的方法有
getAuthorities() 获取对应的权限,
getpassword()获取密码,getUsername()获取用户名,
isAccountNonExpired()账号是否过期
isAccountNonLocked();账号是否锁定
isEnable()账户是否启动
这个接口的实现类有User类,这个类的构造方法有三个参数 用户名 密码 权限
密码解析器 passwordEncoder是一个接口
有方法encoder( passwrod )客户端传递过来的密码 进行加密
matches(rawpassword,encoder) 这方法就是做比较,前面是传过来的,后面是加密后的,匹配对了就返回true
upgradeEncoding()方法是对加密的密码进行一次加密 二次加密 返回true是成功
它的实现类BCryptPasswordEncoder,密码解析器
- 自定义登录逻辑
需要使用UserDetailsService对象,这个对象就是定义逻辑的,PasswordEncoder密码解析器
但是在自定义之前PasswordEncoder必须有这个实例,
来开始演示, 首先在一个配置类中实例化出一个PasswordEncoder对象
开始编写用户登录认证逻辑过程 需要用UserDetailsService对象
第三个重要对象就是配置WebSecurityConfigurerAdapte对象来进行权限控制,一些小设置
以上就是比较重要的三个点,
下面就是在配置类中常见的设置
anyRequest()表示匹配到所有请求,antMatcher()指定参数匹配
对于匹配到到的url可以进行控制
permitAll() 放行
authenticated()认证
denyAll()拒绝访问
rememberMe()被记得我的用户允许访问
fullyAuthenticated() 不是记得我才可以访问 - Spring Security 中 Remember Me 为“记住我”功能,用户只需要在登录时添加 remember-me 复选框,取值为 true。Spring Security 会自动把用户信息存储到数据源中,以后就可以不登录进行访问。
添加选择框
退出登录
SpringSecurity安全框架的笔记相关推荐
- Spring Boot 框架学习笔记(五)( SpringSecurity安全框架 )
Spring Boot 框架学习笔记(五) SpringSecurity安全框架 概述 作用 开发示例: 1. 新建项目 2. 引入依赖 3. 编写`SecurityConfig`类,实现认证,授权, ...
- SSH框架搭建 笔记 (含spring注解驱动)
分类: web 开发2014-04-27 12:33 354人阅读 评论(0) 收藏 举报 框架springinterface注解 好久没有搭建框架了,今天整理下以前的知识,整合下SSH,没想到手生了 ...
- .net框架读书笔记---引用参数(ref/out)
接上一篇.net框架读书笔记---方法(类型造器) 默认情况下,CLR假设所有的方法参数都是按值传递参数的.当参数为引用类型的对象时,参数的传递是通过传递对象的引用(或)指针来完成的.这意味着方法可以 ...
- SpringMVC框架--学习笔记(下)
接上篇:SpirngMVC框架--学习笔记(上):https://blog.csdn.net/a745233700/article/details/81038382 17.全局异常处理: 系统中异常包 ...
- SpringMVC框架--学习笔记(上)
1.SpringMVC入门程序: (1)导入jar包:spring核心jar包.spring-webmvc整合Jar包 (2)配置前端控制器:web.xml文件中 <?xml version=& ...
- mybatis框架--学习笔记(下)
上篇:mybatis框架--学习笔记(上):https://blog.csdn.net/a745233700/article/details/81034021 8.高级映射: (1)一对一查询: ①使 ...
- mybatis框架--学习笔记(上)
使用JDBC操作数据库的问题总结: (1)数据库连接,使用时创建,不使用时立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能. 设想:使用数据库连接池管理数据库连接. (2) ...
- .net框架读书笔记---通用对象操作(一)
接上一篇.net框架读书笔记---基础类型,这节主要学习这样正确实现所有对象都必须提供的一组通用操作---对象的等值性和唯一性: System.Object类型提供了一个名为Equals的虚方法,其目 ...
- .net框架读书笔记---类型成员及其访问限定(一)
接上一篇.net框架读书笔记---通用对象操作(三),开始学习类型以及每个类型的所有实例都具有的一组通用操作. 一.类型成员 一个类型可以定义零个或多个以下成员 常数,常数是一个表示恒定不变的数值的符 ...
- .net框架读书笔记---基础类型
接上一篇.net框架读书笔记---值类型的装箱与拆箱, 一.Object CLR要求每个类型都最终集成自System.Object类型,这意味着以下两种定义是相同的: //隐式继承自Object cl ...
最新文章
- ubuntu 定时执行php文件,Ubuntu crontab 定时执行php脚本文件
- SqlDataAdapter的使用注意事项
- .net npoi xssfclientanchor设置图片缩放大小_.NET导出Excel的四种方法及评测
- scrapy爬虫系列之三--爬取图片保存到本地
- java 股票 代码_Java中利用散列表实现股票行情的查询_java
- 太难了!国内手机出货量大幅下降:华为跌幅小,小米跌惨了
- loadrunner 及 QTP 下载地址
- 电脑和微信怎么发邮件到别人邮箱,企业邮箱如何发email给别人
- 身份证复印件的正确写法
- APP设计之启动页和广告页
- 我的收藏:第二章:程序员收入渠道
- IIS站点配置和DW CS6连接Access数据库
- 利用Docker创建镜像运行jar包
- mysql时间读不了了_Mysql之复习
- echarts3实现柱状图和饼图详解
- 办公软件excel表格_推荐这个免费的Excel共享编辑办公软件,操作很灵活、功能很全...
- java中大数值_Java大数值转换
- 关于想使用kali中的foremost遇到的问题
- 简述你对计算机科学导论的看法,《计算机科学导论》(节选)翻译报告
- 沁云图浅谈之互联网赚钱的方法