1.总结:
  1. 昨天主要是使用security实现了基于内存的认证和基于数据库的认证(实际项目中使用);
  2. 在security的项目中,必须配置WebSecurityConfigurerAdaptor的实现类来重写它的基于认证的config(AuthenticationManagerBuilder auth)方法以及它的基于授权的config(HttpSecurity http)方法
  3. 在认证的config(AuthticationManagerBuilder auth)中存在基于inMenmoryAuthentication的内存认证和基于setUserDetailsService实现类的数据库认证
  4. 在授权的config(HttpSecurity http)中可以实现对一些具备角色信息的url进行设置拦截;也可以实现表单登录,loginProcessingUrl设置表单接口的action,loginPage设置自定义跳转登录页面,再自定义表单的username和password名;还可以设置successfulHandler来自定义登陆成功处理,需要构造一个AuthenticationSuccessHandler类重写它的OnAuthenticationSuccess方法,该方法具体过程就是通过request获取用户信息再设置response对浏览器进行响应;有登陆成功自然也有登录失败处理,同上面一样设置failureHandler自定义登录失败处理,需要构造一个AuthenticationFailureHandler类重写它的OnAuthenticationFailure方法,设置response进行响应,过程是之前Jwt实现单点登录的ResponseUtil工具类,上面的OnAuthenticationSuccess方法的构写也是的;最后就是注销,使用logout方法开启注销,logoutUrl默认注销Url,还有清理身份信息和session清楚等,注销也有addlogoutHandler进行自定义注销处理(数据清理如cookie清除),还有logoutSuccessHandler自定义注销成功后处理,一般为跳回主页面,还没有注销失败处理
 
2.反思:其实之前也学过springsecurity,但是呢,没有去回顾网络很多,当猛然去回顾,其实现在学的很多都是之前自己实操过的;常去复习可以巩固以及加深自己所学;在项目中还是存在两个问题和了解;第一个就是loginPage,里面设置的字符串对应自定义登录跳转页面,为什么我的失效,具体应该怎么使用;第二个实际开发中角色具有上下级关系,我们应该接触源码,更深层次了解这种关系,自定义自己的授权
 
3.复盘:周日会总体回顾一遍之前所学,再就是把昨天所学的自定义登录,自定义登陆成功,失败,上一级注销进行复盘,这是后面开发中必不可少的,要用什么立马学什么,再就是会接着敲关于高级配置的权限处理

1.springsecurity基于内存和数据库的认证的更多相关文章

  1. 基于SpringSecurity和JWT的用户访问认证和授权

    发布时间:2018-12-03   技术:springsecurity+jwt+java+jpa+mysql+mysql workBench   概述 基于SpringSecurity和JWT的用户访 ...

  2. SpringSecurity实战记录(一)开胃菜:基于内存的表单登录小Demo搭建

    Ps:本次搭建基于Maven管理工具的版本,Gradle版本可以通过gradle init --type pom命令在pom.xml路径下转化为Gradle版本(如下图) (1)构建工具IDEA In ...

  3. Cas(06)——基于数据库的认证

    基于数据库的认证 目录 1.1      BindModeSearchDatabaseAuthenticationHandler 1.2      QueryDatabaseAuthenticatio ...

  4. SpringSecurity04 利用JPA和SpringSecurity实现前后端分离的认证和授权

    1 环境搭建 1.1 环境说明 JDK:1.8 MAVEN:3.5 SpringBoot:2.0.4 SpringSecurity:5.0.7 IDEA:2017.02旗舰版 1.2 环境搭建 创建一 ...

  5. Zend Framework 2参考Zend\Authentication(数据库表认证)

    + 转载自:Zend Framework 2参考Zend\Authentication(数据库表认证) 介绍 Zend\Authentication\Adapter\DbTable提供对存储在数据库表 ...

  6. 基于JWT标准的用户认证接口实现

    前面的话 实现用户登录认证的方式常见的有两种:一种是基于 cookie 的认证,另外一种是基于 token 的认证 .本文以基于cookie的认证为参照,详细介绍JWT标准,并实现基于该标签的用户认证 ...

  7. Impala基于内存的SQL引擎的详细介绍

    一.简介 1.概述 Impala是Cloudera公司推出,提供对HDFS.Hbase数据的高性能.低延迟的交互式SQL查询功能. •基于Hive使用内存计算,兼顾数据仓库.具有实时.批处理.多并发等 ...

  8. RDD:基于内存的集群计算容错抽象(转)

    原文:http://shiyanjun.cn/archives/744.html 该论文来自Berkeley实验室,英文标题为:Resilient Distributed Datasets: A Fa ...

  9. SharePoint 2013 配置基于表单的身份认证

    前 言 这里简单介绍一下为SharePoint 2013 配置基于表单的身份认证,简单的说,就是用Net提供的工具创建数据库,然后配置SharePoint 管理中心.STS服务.Web应用程序的三处w ...

  10. 【转】Spark是基于内存的分布式计算引擎

    Spark是基于内存的分布式计算引擎,以处理的高效和稳定著称.然而在实际的应用开发过程中,开发者还是会遇到种种问题,其中一大类就是和性能相关.在本文中,笔者将结合自身实践,谈谈如何尽可能地提高应用程序 ...

随机推荐

  1. 连接打印机Lodop

    <div class="panel-body"> <div class="row show-grid"> <div class=& ...

  2. UI自动化之【chromedriver.exe无法删除问题】

    想删掉chromedriver.exe,结果提示被打开 在任务管理器中,找到Chromedriver.exe,结束进程

  3. python-文件内容操作

    1.按文件中数据的组织形式把文件分为文本文件和二进制文件两类. 文本文件:文本文件存储的是常规字符串,由若干文本行组成,通常每行以换行符'\n'结尾.常规字符串是指记事本或其他文本编辑器能正常显示.编 ...

  4. mybatis的xml中#{}和${}区别

    #{}表示一个占位符号,通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换,#{}可以有效防止sql注入.初步编译后的sql语句是" ...

  5. 转:MyBatis 日志打印

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012666996/article/details/79106599Mybatis SQL语句控制台 ...

  6. 用反证法说明List<Object>和List<String>不存在子父类关系可行吗?

    看宋红康老师的Java基础视频讲解,视频中用反证法证明List

  7. Mac 系统下 xxx.py 在终端运行

    1.在文件中添加注释首先在你所要运行的python文件里首行添加一个特殊的注释(我使用的是python 3.7.3) #!/usr/bin/env python3 注意:如果是python3的话,&q ...

  8. CH573 CH582 CH579蓝牙从机(peripheral)例程讲解六(蓝牙设置白名单)

    蓝牙从机设置白名单,可以只扫描应答(白名单中列出的)设备,只允许(白名单中列出的)设备连接. 蓝牙主机设置白名单,可以只扫描.连接特定的蓝牙设备(白名单中列出的). 一.蓝牙从机白名单设置有关的函数介 ...

  9. 7 Free Energies: 7.4 Umbrella Sampling Example

    7.4 Umbrella Sampling Example计算丙氨酸二肽 Phi/Psi 旋转的 PMF    http://ambermd.org/tutorials/advanced/tutori ...

  10. 手写 ArrayList 核心源码

    手写 ArrayList 核心源码 手写 ArrayList 核心源码 ArrayList 是 Java 中常用的数据结构,不光有 ArrayList,还有 LinkedList,HashMap,Li ...