Spring Security
文章平均质量分 60
Spring Security
陈振阳
我翻开历史一查,这历史没有年代,歪歪斜斜的每页上都写着仁义道德四个字。我横竖睡不着,又仔细看了半夜,才从字缝缝里看出字来。满页都写着两个字是,吃人。
展开
-
如何写一个给自己的框架写一个优雅的Java Config模块(一)
发博词工作时间长一点的工程师,平时的“工作生活”中肯定免不了写一些大大小小的框架和中间件。最近在看Spring Security的源码,由于这个框架要解决的问题比较多、复杂且零碎,导致了配置项特别多。但是在使用Spring Security的Java Config模块的时候,里面都是很典型的技巧,所以整理了一下,分享出来,共同学习共同进步。配置模块化主从模式主从从模式配置的依赖关系配置的初始化和后置原创 2017-06-13 15:29:38 · 1553 阅读 · 0 评论 -
Spring Security OAuth2#resource_ids
发博词Spring Security OAuth2 架构上分为Authorization Server和Resource Server。我们可以为每一个Resource Server(一个微服务实例)设置一个resourceid。再给client授权的时候,可以设置这个client可以访问哪一些微服务实例,如果没设置,就是对所有的resource都有访问权限。resourceid在哪设置配置文件经测原创 2017-09-07 20:59:39 · 14589 阅读 · 4 评论 -
Spring Security# Multiple DaoAuthenticationProvider
正文有三种情况我们需要配置多个AuthenticationProvider,甚至是自定义AuthenticationProvider: 1. 用户认证信息存储在多个地方 2. 在同一个地方但是需要多种授权方式,比如说手机号+密码可以登录,邮箱+密码也可以登录 3. 以上两种情况都有 配置AuthenticationProvider,可以通过AuthenticationManagerBuild原创 2017-09-08 11:39:09 · 3815 阅读 · 0 评论 -
Spring Security # ACLs
参考spring-security-reference 域对象的安全(Domain Object Security) 第 23 章 Spring Security中的ACL原创 2017-09-08 12:47:29 · 630 阅读 · 0 评论 -
Spring Security# RoleHierarchy
参考RoleVoter RoleHierarchyVoter RoleHierarchyImpl spring-security-reference#Hierarchical Roles Spring Security Role Hierarchy not working using Java Config原创 2017-09-08 16:12:09 · 2282 阅读 · 1 评论 -
Spring Security# Tips Summarization
对应spring Security来说,不管是ROLE还是具体的权限,统一authority hasRole(‘’) 和 hasAuthority是同一个实现 基于表达式的权限控制 spring Security支持的表达式非常强大,可以使用方法的参数,方法的返回值 UserServiceDetails = ClientServiceDetailsoauth2获取的token是某个应用的to原创 2017-09-09 10:28:42 · 490 阅读 · 0 评论 -
Spring Security OAuth2 配置注意点
security.oauth2.resource.jwt.key-uri/security.oauth2.resource.jwt.key-value和security.oauth2.resource.jwk.key-set-uri只能配置一个 前面是配置一个key,后面是配置好多key security.oauth2.client 下面的client_id和client_secret配置多重意原创 2017-09-14 10:18:06 · 38621 阅读 · 2 评论 -
Spring Security 小知识点
UserDetailService 是认证的时候用的,是资源服务器用的数据库名不要用中划线鉴权的服务器如果加了http.formLogin(),如果鉴权不通过,就会跳转到登录界面;如果不添加这个,如果鉴权不通过,就会返回json格式的信息;所以都是restful,不要加,如果是配置在zuul上,zuul作为UI服务器,还是要加的;2. 如果一个服务器上同时用SecurityConfigurat原创 2017-09-26 09:07:11 · 1033 阅读 · 0 评论 -
OAuth2 & Spring Security OAuth2 总结
OAuth2认证机制提供了四种方式,但是这四种方式的输入和输出都是一样的,输入都是clientid和clientsecret,输出都是token; 如果是自己的应用要使用这些资源,用client_credentials的方式, authorization code:clientid+clientsecret->code->token implicit:clientid+clientsecret原创 2017-09-09 10:33:07 · 1023 阅读 · 0 评论 -
Spring Security生态概览
参考SAML 2.0 WiKi OAUTH、OPENID、SAML、CAS做统一认证与授权的联系与区别 我眼中的SAML (Security Assertion Markup Language) 基于SAML的单点登录介绍原创 2017-09-09 10:40:23 · 5823 阅读 · 0 评论 -
Spring Security OAuth2 # TokenStore
概述TokenStore管理OAuth2AccessToken 与OAuth2Authentication和OAuth2RefreshToken与OAuth2Authentication的对应关系的增删改查;具体操作TokenStore 具体包含的操作如下: 1. 存储对应关系:storeAccessToken(OAuth2AccessToken token, OAuth2Authenticati原创 2017-09-11 14:34:35 · 4205 阅读 · 0 评论 -
Spring Security Advanced Usage Sample
需求分布式微服务架构,使用Oauth2协议,Token类型使用Jwt;用户会在多个平台(PC,Android,IOS,微信)登录,同一个账号,不同平台可以同时登录,同一个平台只能登录一个实例,后登陆的实例可以在验证身份验证通过之后,将前面登录的实例踢掉;退出会话功能,也就是让token失效;设计jwt token的生成因素包括client+user+platform,也就是说获取token原创 2017-09-11 10:35:59 · 805 阅读 · 0 评论 -
Spring Web Client# RestTemplate
@SpringBootApplication@RestController@EnableWebMvcpublic class DemoApplication { private static String host = "xxxx"; private static String path = "xxxx"; private static String appcode =原创 2017-09-12 14:03:30 · 464 阅读 · 0 评论 -
Spring Securiy New Support for OAuth 2.0 and OpenID Connect 1.0
New Support for OAuth 2.0 and OpenID Connect 1.0We are very excited to introduce new support for OAuth 2.0 Authorization Framework and OpenID Connect 1.0 in Spring Security 5. The initial support in...原创 2018-05-12 10:52:15 · 626 阅读 · 0 评论 -
Spring Security OAuth2# Scope
怎么传递scopehttp://localhost:8080/oauth/token?grant_type=password&scope=ROLE_CLIENT_ADMIN+Hidelo&client_id=business&client_secret=business&username=user&password=password 解析的逻辑如下: DefaultOAuth2Request原创 2017-09-08 10:40:30 · 11742 阅读 · 0 评论 -
Spring Cloud OAuth2、 Actuator、Docker联配最佳实践
/oauth/token_key:需要验证;接口是resource server使用security.oauth2.client.client-id和security.oauth2.client.client-secret作为用户名和密码,使用basic发起请求的(参看JwtTokenServicesConfiguration#getKeyFromServer());/oauth/token:需要验证;接口自带验证原创 2017-09-15 14:44:04 · 4353 阅读 · 0 评论 -
JOSE(JWX)
JWS:JSON Web Signature,Digital signature/HMAC specification JWE:JSON Web Encryption,Encryption specification JWK:JSON Web Key,Public key specification JWA:JSON Web Algorithms,Algorithms and identifi原创 2017-06-20 14:11:28 · 3451 阅读 · 0 评论 -
Spring Security#OAuth2
CongiurerClientDetailsServiceConfigurerAuthorizationServerSecurityConfigureAuthorizationServerEndpointsConfigurerResourceServerSecurityConfigurerHttpSecurityAuthorization ServerClientDetailsServ原创 2017-06-20 20:14:38 · 4904 阅读 · 1 评论 -
Spring Web DelegatingFilterProxy和Spring Security Web Filter Chain
概述用过Spring Security XML配置方式的肯定属性下面的代码: springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy原创 2017-06-12 10:36:59 · 1290 阅读 · 0 评论 -
Spring Security Web Application 之 Security Filter Chain
Security Filter ChainSpring Security的Web模块为Web开发提供了非常全面的支持。整个spring security web模块就是以Servlet Filter为基础构建的。此模块会处理HttpServletRequest和HttpServletResponse对象,不管请求是从浏览器发出的还是从一个web客户端或者是ajax应用发出的。Spring Secur原创 2017-06-12 14:11:51 · 2033 阅读 · 0 评论 -
Spring Security之匿名用户
Spring Security为我们提供了一个匿名用户的功能,我们可以基于此很容易的实现匿名用户的单独控制,使我们的站点轻松拥有游客用户的功能;如果开启了匿名用户的功能,按照Spring Security Filter的执行顺序,AnonymousAuthenticationFilter在ExceptionTranslationFilter的前面,在各种认证机制和RememberMeAuthenti原创 2017-06-13 14:32:53 · 13877 阅读 · 0 评论 -
Spring Security之Builder sharedObjects
Spring Security的三个顶级配置对象的继承关系如下:SecurityBuilder AbstractSecurityBuilder AbstractConfiguredSecurityBuilder AuthenticationManagerBuilderHttpSecurityWebSecurity在AbstractConfiguredSecurityBuilder中定义原创 2017-06-14 12:20:08 · 1590 阅读 · 0 评论 -
Spring Security之自定义数据库表
[org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl]类中定义了三条sql语句和三个相关的方法:public static final String DEF_USERS_BY_USERNAME_QUERY = "select username,password,enabled " + "from use原创 2017-06-14 21:01:28 · 1255 阅读 · 0 评论 -
Spring Security之Config模块详解(TODO)
发博词由于软件开发中,要解决的安全的问题非常多且零碎,导致了Spring Security在配置项也很多,对于接触不久的人来说,可能本身安全方面的东西平时“工作生活”中就接触比较少,导致在学习Spring Security的过程中,有种剪不断理还乱的感觉。下面我们就通过Spring Security的Config模块的架构,来理清这个关系。Spring Security ConfigurerSpri原创 2017-06-15 11:14:39 · 20318 阅读 · 1 评论 -
Spring Securiy OAuth2 # AuthorizationServer realm
在AuthorizationServerProperties中有一个realm的配置,其文档说明如下Realm name for client authentication. If an unauthenticated request comes in to the token endpoint, it will respond with a challenge including this nam原创 2017-09-13 14:16:12 · 1574 阅读 · 0 评论 -
Spring Cloud OAuth2 & Zuul
Spring Cloud OAuth2 整合 Zuul有两种用法。反向代理具体的权限配置信息在反向代理的微服务里配置,也就是具体的鉴权操作在各个资源服务器。反向代理+权限控制也就是Zuul Server不仅是反向代理的角色,还需要承担鉴权的职责,如果需要鉴权,在Spring Security中就需要两步, 1. 的access_token变成OAuth2Authentication的操作, Ex原创 2017-09-14 00:21:52 · 8880 阅读 · 1 评论 -
Spring Cloud OAuth2 # Access Token中继流程
OAuth2RestTemplateOAuth2ClientContext AccessTokenRequestOAuth2AccessTokenSupport AccessTokenProvider AccessTokenProviderChain AuthorizationCodeAccessTokenProvider ClientCredentialsAccessTokenProvi原创 2017-09-13 14:02:37 · 2857 阅读 · 0 评论 -
Spring Security 官方文档学习路径
Spring 目前有三个层次的项目,Spring Framework层,Spring Boot层和Spring Cloud层。这三个层次的项目里都有Spring Security的东西,在加上安全和权限控制这块是大多数人的一个弱项,导致官方文档给人乱乱的感觉;下面我们就梳理一下官方文档的学习顺序;首先是Spring Security Reference的文档,Spring Security的设计理念原创 2017-09-14 09:42:53 · 5316 阅读 · 0 评论 -
Spring Security#Expression-Based Access Control
Expression-Based Access Control原创 2017-09-07 22:52:05 · 573 阅读 · 0 评论 -
Spring Cloud Security Token Relay‘s Principle
A Token Relay is where an OAuth2 consumer acts as a Client and forwards the incoming token to outgoing resource requests. The consumer can be a pure Client (like an SSO application) or a Resource Serv...原创 2019-07-01 11:08:50 · 1286 阅读 · 0 评论