在pom.xml中将springsecurity导入后,对于springsecurity会出现三个依赖包:spring-security-web,spring-security-config,spring-security-core.其中spring-security-core包含了核心的认证和访问控制接口,远程支持和基本的API.这些都是任何使用Spring Security的应用程序所需要的。支持独立的应用程序,远程客户端,业务层的方法安全和JDBC用户的提供。所包含的顶级包名有:

org.springframework.security.core

org.springframework.security.access

org.springframework.security.authenticaiton

org.springframework.security.provisioning

对于spring-security-remoting.jar如果不写远程客户端的话,是不需要这个依赖的。

对于spring-security-web.jar:

包含过滤器和相关的web-security的基本代码。无论何时都需要一个servlet API的依赖。如果你想使用Spring Security的web认证服务和URL的访问控制,那么你就需要这个依赖,主要的包是org.springframework.security.web.

对于spring-security-config.jar

包含安全的命名空间解析代码和java配置代码。如果你使用Spring Security的 XML命名空间来作为配置,或者Spring Security的java配置支持,那么你就需要这个依赖。主要的包为:org.springframework.security.config。这个包中class并不能直接在应用程序中使用。

另还有:spring-security-ldap.jar;spring-security-acl.jar;spring-security-cas.jar;spring-security-openid.jar;

spring-security-test.jar

对于使用自定义的java配置,那么自定义的类需要继承WebSecurityConfigurerAdapter.一旦引入SpringSecurity依赖后,所有的访问应用的ApI都需要被认证。Spring Security模块会生成默认的登陆表单。用户可以通过用户名和密码来通过基于表单的认证。

对于HttpSecurity:

WebSecurityConfig仅仅只是包含一些如何让用户认证的信息。之所以Spring Security知道我们想所有的用户都被认证和我们支持表单的认证,是因为我们在WebSecurityConfigurerAdapter中进行了配置,WebSecurityConfigurerAdapter类中有缺省的配置,如果想自定义配置就自定义类并继承WebSecurityConfigurerAdapter。然后重写configure(HttpSecurity http),如下图:

AuthenticationProvider:用户认证时的处理类,如果需要自定义用户认证处理类,则需要实现该接口。

UserDetailsService:用户进行认证时的获取用户信息的服务类,如果想自定义信息服务类,则实现该接口即可。

暂时先写这么多

SpringSecurity简单记录的更多相关文章

  1. JSP简单记录

    JSP,全称是Java Server Page,是运行在服务器端的页面,是建立在Servlet规范的动态网页技术,JSP文件在第一次请求时,会被编译成Servlet,所以JSP也可以看成是运行中的Se ...

  2. OpenCV安装配置的简单记录

    在ubuntu16.04下安装OpenCV 2.4.11的简单记录 1. 安装cmake,执行$apt-get install cmake即可,cmake -version验证 2. 下载OpenCV ...

  3. asp.net 简单记录请求的客户端和服务端 处理时间

    最近项目需要简单记录一下 ajax客户端和服务端处理时间,服务端时间的思路是借用BeginRequest和EndRequest事件,为了不影响现有接口返回的数据格式,因此服务处理时间放在respons ...

  4. PHP 版本简单记录

    PHP 版本简单记录 PHP 博物馆         http://museum.php.net/php5/ PHP 版本发布       https://secure.php.net/release ...

  5. 简单记录一次注入到shell

    0x00 前言 帮朋友之前拿的一个站,有点久了没有完整截图,简单记录一下. 0x01 基础信息 操作系统:win 集成环境:phpstudy 端口开放:82,3306,3389 有phpmyadmin ...

  6. Java-Springboot-集成spring-security简单示例(Version-springboot-2-1-3-RELEASE

    使用Idea的Spring Initializr或者SpringBoot官网下载quickstart 添加依赖 1234 <dependency><groupId>org.sp ...

  7. oracle SCN推进恢复数据库 简单记录

    由于是在内网专用机器上操作,没有日志记录,下面做个简单记录:   前几天某供电局的的一个老数据库存储挂了,数据全部丢失,该库没有开归档,没接备份,怎么恢复? 由于存储损坏严重,从存储恢复不好搞. 好在 ...

  8. SpringSecurity简单使用

    什么是SpringSecurity? Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配置 ...

  9. SpringBoot整合SpringSecurity简单实现登入登出从零搭建

    技术栈 : SpringBoot + SpringSecurity + jpa + freemark ,完整项目地址 : https://github.com/EalenXie/spring-secu ...

随机推荐

  1. gulp自动化构建工具的使用

    gulp自动化构建工具: 把前端开发常见的处理(“搬砖”)程序,通过一个工具模块管理起来,只需配置一次,达到自动处理目的,简化开发,提高效率!! 安装: 1.全局安装(全局安装一个gulp命令) A. ...

  2. Spring之bean的生命周期

    这篇博文是spring生命周期的详解,目前限于作者自身的水平对于一些内容可能只知其然不知其所以然,所以博文中如果出现错误欢迎各位指出,同时我也会逐步提升自己的水平,争取能够多发布一些能让大家获益的博文 ...

  3. Lintcode174-Remove Nth Node From End of List-Easy

    174. Remove Nth Node From End of List Given a linked list, remove the nth node from the end of list ...

  4. 支持向量机(Support Vector Machine):超平面

    超平面 超平面是 $n$ 维空间的 $n-1$ 维子空间,类似二维空间的直线,三维空间的平面. 分类学习最基本的想法就是基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开.以二维空间为例 ...

  5. Matplotlib.pyplot 把画图保存为图片

    在plt.show()之前执行plt.savefig()函数即可. 简单例子: import matplotlib.pyplot as plt x=[1,2,3,4,5] y=[10,5,15,10, ...

  6. java中捕获Oracle异常

    try{ } catch (Exception e){ String msg=.getMessage(): int index= msg. toUpperCase(). indexOf("O ...

  7. PPI | protein-protein interaction | 蛋白互作分析

    STRING database的挖掘 这个数据库绝对是做实验人的宝藏,里面包含了各种蛋白互作关系,不用做实验就有一大堆证据. IPA了解一下,收费的高端分析软件,大部分就是整合的这个数据库,很多大佬喜 ...

  8. 导出MySql中的数据库 --Linux/Windows

    1.thanlon@thanlon-Ubuntu:~$ mysqldump -uroot -p mysql>db.sql “mysql”为数据库名,db.sql为导出的文件

  9. 《c++ concurrency in action》读书笔记2--线程管理

    一.线程的启动 1. 每个c++程序至少有一个线程,是由C++ runtime启动的 2. 在c++11中,通过一个std::thread 对象启动线程.可以向std::thread传递一个函数,或者 ...

  10. Git更改用户名与回退操作

    1. 更改本地用户名和邮箱 git config --global user.name "Your_username" git config --global user.email ...