随记

......

Architecture Components

SecurityContextHodler

ThreadLocal相关的安全上下文Holder

SecurityContext

包含 Authtication对象,用于获取当前已认证的用户信息

Authentication

  1. 未认证之前的包含用户提供凭证信息,交给 AuthenticationManager 处理

  2. 认证完成后的包含用户认证信息,通常托管在SecurityContext

GrantedAuthority

在用户认证中授予给用户的权限

AuthenticationManager

定义了SpringSecurity过滤器如何执行身份验证的API

ProviderManager

AuthenticationManager 的一个实现

AuthenticationProvider

ProviderManager用于执行特定类型的身份验证

Request Credentials with AuthenticationEntryPoint

用于从客户端请求凭证(即重定向到登录页面,发送一个WWW-Authenticate响应,等等)

AbstractAuthenticationProcessingFilter

用于身份验证的基本过滤器。这还可以很好地了解身份验证的高级流程以及各个部分如何协同工作。

Authentication Mechanisms

用户身份验证机制

Username and Password

如何通过用户名密码进行认证

OAuth 2.0 Login

使用OpenID Connect和非标准OAuth 2.0登录进行OAuth 2.0登录(如Github等…)

SAML 2.0 Login

Central Authentication Server (CAS)

Remember Me

JAAS Authentication

OpenID

Pre-Authentication Scenarios

X509 Authentication

SecurityContextHolder

SecurityContextHolder

获取token

Authentication-server

TokenEndpoint 

`/oauth/token`

incoming request
|
SecurityFilterChain
|
AbstractAuthenticationProcessingFilter
|
ClientCredentialsTokenEndpointFilter
|
AuthenticationManager
|
|
ProviderManager
- -
|
AuthenticationProvider
|
AbstractUserDetailsAuthenticationProvider
|
DaoAuthenticationProvider
|
TokenEndpoint
|
authenticate->tokenGrant->return

ClientDetails
-->
AuthorizedGrantTypes
-> password,xxx,xxx,xxx

检查token

Authentication-server

CheckTokenEndpoint

`/oauth/check_token`

imcomping request
|
OAuth2AuthenticationProcessingFilter
|
OAuth2AuthenticationManager#loadAuthentication
· |
RemoteTokenServices 验证token正确性
|
AccessTokenConverter
|
UserAuthenticationConverter 从map中获取认证信息(principal,authorities)

-> FixedAuthoritiesExtractor 获取权限列表

-> UserDetailsService 获取principal认证信息(可以表示为用户信息)

Mapper

MapperProxy
MapperMethod
->SqlCommand
statementId: mapperInterface.getName() + “.” + methodName;

DvaJs Vuex
Effect Action
Reducer Mutation

Ethernet II (RFC 894)
destination(6 byte)
source (6 byte)
type: (2 byte)(ARP,IPv4,IPv6)
Internet Protocol Version 4

@PersistenceContext

PersistenceAnnotationBeanPostProcessor

SharedEntityManagerInvocationHandler

@OneToOne

mappyedBy:拥有关系的字段。此元素仅在关联的反向(非拥有)端指定。

eg:

User:
id
name
@OneToOne(mappedBy="user")
Config config

Config:
key
value
@OneToOne
User user

config 表里会有个user_id的字段

@OntToMany

eg:
User:
id
name
@OneToMany(mappedBy="user")
List<Order> orders;

Order:
id:
@ManyToOne
User user;

order 表到时候会有一个user_id的外键

前言

今天在微信读书上翻到一本关于Spring源码分析的书《Spring源码深度解析》,于是想着动手调试下Spring的源码,想起一年前下载的Spring-framework-5.1.5RELEASE源码,于是导入IDEA,果不其然,报错了.

阅读全文 »

RenentrantReadWriteLock

       16 bit          16 bit

+------------------------------------+
|ReadLockCounts | WriteLockCounts |
+------------------------------------+

阅读全文 »

前言

最近在Chrome上发现一个免费的VPN插件AVSTAR VPN,本着学习研究的精神,获取到了代理服务器的地址和端口.于是就想能不能把这个代理服务器的地址配置用于IDEAHTTP Proxy

阅读全文 »
0%