1.SpringSecurity Oauth2Authentication对象使ç¨
2.(二)springboot之spring-boot-starter-web
3.clickhouse 二(springboot+mybatis实现clickhouse的源码插入查询)
SpringSecurity Oauth2Authentication对象使ç¨
å¨è°ç¨èµæºæå¡å¨çè¿ç¨ä¸ï¼æ们ä¼å°ç³è¯·çtoken ä½ä¸ºheaderå¼è¿è¡ä¼ éï¼æºå¸¦è°ç¨è ç身份信æ¯ãä½æ¯èµæºæå¡å¨æ¯å¦ä½éè¿token对è°ç¨è ç身份è¿è¡å¤æçå¢ï¼Securityä¸æä¸ä¸ªFilterå®ç°äºå¯¹tokenä¿¡æ¯ç转æ¢ï¼å°tokenå¼è½¬æ¢æäºè°ç¨è çç¨æ·ä¿¡æ¯ã该filterå°±æ¯ Oauth2AuthenticationProcessingFilter
ä¸ãæ¥çæºç
æ¥çOauth2AuthenticationProcessingFilterçdoFilteræ¹æ³
éè¿æ¥çOauth2AuthenticationProcessingFilterçdofilteræ¹æ³ï¼éç¹æ两ç¹
ï¼1ï¼å°requestä¸çtokenæååºæ¥å°è£ æAuthentication对象
ï¼2ï¼å°Authentication交ç»authenticationManagerè¿è¡é´æå¤ç
ä¸é¢æ们éç¹çä¸è¿ä¸¤å¤çå¤çã
äºãtokenå°Authentication对象转æ¢å®ç°
Authentication authentication = tokenExtractor.extract(request);
tokenExtractorå¨Oauth2AuthencationProcessingFilterä¸çé»è®¤å®ç°æ¯BearerTokenExtractorï¼æ们æ¥çBearerTokenExtractorçextract()æ¹æ³ã
ä¸ãAuthentication对象çé´æ
Authentication authResult = authenticationManager.authenticate(authentication);
æ¤å¤çauthenticationManagerçå®ç°ç±»æ¯Oauth2AuthenticationManagerï¼èä¸æ¯æ们ä¹åä¸ç´æå°çProvicerManagerãæ们çä¸Oauth2AuthenticationManagerä¸çauthenticate()æ¹æ³ã
RemoteTokenService ç loadAuthentication() æ¹æ³
ç¨æ·è®¤è¯è½¬æ¢ç±»
* æ¥å£å±æ³¨å ¥ç OAuth2Authentication对象ä¸ç principalå±æ§å³å¨è¯¥ç±»çextractAuthentication() æ¹æ³ä¸å®ç°çã
* securityé»è®¤ä½¿ç¨çæ¯ DefaultAccessTokenConverterç±»ä¸çextractAuthentication()æ¹æ³ä¸ä½¿ç¨ã
* éè¿ç»§æ¿UserAuthenticationConverter该类ï¼å®ç°å ¶ä¸çextractAuthentication()æ¹æ³æ¥æ»¡è¶³æ们èªå·±æé principalå±æ§çéæ±ã
* å¨ResourceConfigç±»ä¸ï¼ç»§ç»ä½¿ç¨DefaultAccessTokenConverter,ä½æ¯ç±»ä¸çUserAuthenticationConverteræ们éæ¢ææ们èªå·±çCustomUserAuthenticationConverterå®ç°ç±»ã
*
* æ们æé çprincipalå±æ§æ¯mapç±»ï¼éé¢å å«phoneåuserId两个å段ã
(二)springboot之spring-boot-starter-web
springboot版本:3.0.2
通过查看spring-boot-starter-web依赖文件的源码,我们可以发现其依赖的解读jar包包括以下内容:
spring-boot-starter-web依赖启动器的主要功能是为Web开发提供所有必要的底层依赖。
因此,源码在pom.xml文件中引入spring-boot-starter-web依赖启动器之后,解读我们就可以直接进行Web场景的源码开发,无需额外导入Tomcat服务器或其他Web依赖文件。解读绿黄圣诞树源码当然,源码这些依赖文件的解读版本号是由spring-boot-starter-parent父依赖进行统一管理的。
详细依赖图,源码请访问:spring-boot-starter-web依赖图 思维导图模板_ProcessOn思维导图、解读流程图 获取。源码
clickhouse 二(springboot+mybatis实现clickhouse的解读插入查询)
本文详细介绍了如何利用SpringBoot和Mybatis实现与ClickHouse数据库的集成,旨在演示插入和查询操作的源码tushare源码实现过程。ClickHouse,解读作为一款由Yandex公司开源的源码面向列的数据库管理系统,特别适用于实时生成分析数据报告,尤其在OLAP分析方面表现出色。
为了实现与ClickHouse的集成,首先需要在项目中添加相应的philz源码Maven依赖。确保引入了SpringBoot和Mybatis的相关依赖,这将为后续的配置和操作打下基础。
接下来,配置数据源时,需要定义与ClickHouse服务器的连接参数。这包括服务器地址、arpd源码端口、数据库名称以及用户和密码等信息。这一步骤至关重要,确保了项目的正常运行。
在参数配置阶段,需要对Druid连接池进行配置。711源码Druid连接池能够有效管理数据库连接,优化资源使用,并提供连接监控功能,为项目的稳定性提供保障。
对于Mapper.xml文件,需要编写SQL语句以实现对ClickHouse表的增删查改操作。这里主要关注的是插入和查询操作的实现,以展示ClickHouse在实时数据处理方面的高效。
Mapper接口的编写遵循Mybatis的规范,定义了具体的SQL操作方法,与具体的数据库操作对应,使得业务逻辑与数据库操作分离,提高代码的可维护性和可读性。
在controller接口中,通过调用Mapper接口的相应方法,将业务逻辑与具体的数据库操作关联起来,完成数据的插入和查询操作的集成。
为了验证集成的正确性和性能,创建了一个ClickHouse表并插入了几条数据进行测试。通过执行查询操作,可以验证数据的正确性和查询性能。
对于需要源码的读者,可以在评论区留下邮箱,以便获取完整的项目实现代码。
参考文章:SpringBoot2 整合 ClickHouse数据库,实现高性能数据查询分析