本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- arpenker
- tanling8334
- gaojingsong
- kaizi1992
- xpenxpen
- 龙儿筝
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- siemens800
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
最新文章列表
spring-security(十四)UserDetailsService
前言:
作为spring security的核心类,大多数的认证方式都会用到UserDetailsService和UserDetails这两个接口,本文会详细探讨下UserDetailsService及其实现类。
1. UserDetailsService接口
在spring security中,为了方便扩展,UserDetailsService接口被设计的极其简单,只包含一个方法
Us ...
spring-security(十三)核心服务类
前言:
在之前的篇章中我们已经讲述了spring security的部分组件,接下来我们再重点查看下另外两个重要的和认证相关的接口及其实现类:AuthenticationManager, UserDetailsService 。
1.AuthenticationManager, ProviderManager 和 AuthenticationProvider
AuthenticationM ...
spring-security(十二)鉴权方式概述
前言:
本文主要讲述在spring security鉴权的实现方式,目前spring security 支持基于 spring aop、filter、aspectj三种认证方式,分别提供对方法调用、web请求、业务对象的访问控制。在spring security中健全主要是由AccessDecisionManager这个类完成的,这个类有一个decide方法,接受一个代表认证者信息的Authen ...
spring-security(十一)Web应用认证过程
前言:
本文将探讨当web应用中加入的spring security功能时,用户是如何认证的、安全上下文是如何创建的。
环境:
spring boot 版本:1.5.4.RELEASE
1.一个 ...
spring-security(十)基本认证过程
前言:
在spring security中认证具体指的是什么以及如何做的,本文做一个简单的阐述
环境
spring boot 版本:1.5.4.RELEASE
下面我们一起考虑一个简单的大家都熟悉的认证情景
1.一个用户被提示输入用户名和密码
2.系统验证用户名和密码是否合法
3.用户的上下文信息被获取(如用户的权限列表)
4.创建用户对应的安全上下文
5.当用户继续执行后续操作时,系统 ...
spring-security(九)-核心组件
前言:
本文主要介绍在spring security中的几个核心组件,以及他们之间是怎样相互协作的。
环境:
spring boot 版本:1.5.4.RELEASE
1.核心组件之SecurityContextHolder
SecurityContextHolder是spring security中最基本的组件,是用来存储我们应用的安全上下文的,包含了当前系统认证用户的详细信息。默认 ...
spring-security(八)java config-sample之cas client
前言:
SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。CAS是一个开源的企业级SSO具体实现,spring security也提供了和SSO的集成,本文用一个简单示例演示下如何在spring se ...
spring-security(七)java config-sample之concurrency
前言:
在实际应用中,我们可能会限制一个用户同时登录同一个应用的次数。例如,我们希望系统中只有一个‘张三’能登录,从而阻止用户‘张三’利用两个不同的session进入我们的web应用中,为此spring security为我们提供了以下两种策略实现这个功能:
当同样的用户再次登录的时候,就将前一次登录过的session信息自动设置成过期
直接报出一个错误,提示用户已经登录,从而阻止本次登录
...
spring-security(六)java config-sample之rolehierarchy
前言:
在日常应用的权限系统中,一个角色包含其他角色是一个很常见的需求。例如,在一个应用中如果有两个角色 admin和user,我们会希望所有user用户能做的事admin用户都可以做。为了实现这样的功能,我们可以把所有需要user用户访问的资源再赋一遍权限给admin用户,但是当我们的应用系统中有很多的角色时,这样的设计将变的极其复杂。所以srpng给我们提供了另一种实现方式,让我们很容易的可 ...
spring-security(五)java config-sample之rememberme
前言:
本篇文章简单介绍spring-security给我们提供的remember me功能的使用方法,参数名、配置方式采用spring默认配置,后续章节进一步探讨时会详细说明自定义的方式。
环境:
spring boot 版本:1.5.4.RELEASE
1.项目结构
application.yml文件是放在src/main/resources/目录下
2.配置类Security ...
spring-security(四)java config-sample之jdbc
前言
本篇文章我们举例说明在spring-security中利用mysql来存储用户信息和权限信息,示例采用security默认提供的DDL。
环境:
spring-boot版本:1.5.4.RELEASE
1.项目工程结构
2.配置类SecurityConfig.java
/**
*
*/
package nariis.chengf.security.sampl ...
spring-security(三)java config-sample之hello world
前言
这一节,我们会用一个最简单的示例来展示spring security的魅力,通过这个示例我们会发现和spring boot相结合,实现应用的安全控制这个复杂功能竟会如此简单
环境:
spring-boot版本号:1.5.4.RELEASE
1.示例项目结构
2.配置类SecurityConfig.java
/**
*
*/
package nariis.chengf ...
spring-security(二)java config加载机制-@EnableGlobalAuthentication
前言
在上一篇文章中通过对EnableWebSecurity注解中的配置类WebSecurityConfiguration的探讨,我们知道了filter各种各样的filter以及鉴权用的AccessDecisionManager是怎么加载进来的,但是具体用来认证的AuthenticationManager怎么加载还没有说明,这篇文章,我们就重点分析下各种各样的AuthenticationMana ...
spring-security(一)java config加载机制-WebSecurityConfiguration
前言:
spring security给我们提供了功能非常强大的安全保护机制,在使用时的配置也极其简单,在和spring boot工程集成的时候,简单到只需要我们用一个注解@EnableWebSecurity就可以把需要的过滤器都配置好,可是这一切是怎么发生的呢?在本系列文章的第一篇就让我们结合源码来一探究竟。
环境:
spring boot 版本:1.5.4.RELEASE
1.@ ...
spring boot访问autoconfig等敏感端点401
错误信息:
Tue Mar 07 21:18:57 GMT+08:00 2017
There was an unexpected error (type=Unauthorized, status=401).
Full authentication is required to access this resource.
解决:
application.properties添加配置参数
ma ...
Spring4 Jasypt1.9.2 Integration
1.add jasypt with maven
<!-- Encryption / Decryption -->
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt-spring ...