
Java
文章平均质量分 94
升级中的小码农
这个作者很懒,什么都没留下…
展开
-
SpringSecurity中文文档—Authentication—Remember Me
Remember-me或persistent-login authentication 指的是网站能够在会话之间记住主体的身份。这通常是通过向浏览器发送cookie来实现的,在未来的会话中会检测到cookie,并导致自动登录。Spring Security为这些操作提供了必要的hooks ,并有两个具体的Memory me实现。一种使用哈希来保护基于cookie的令牌的安全性,另一种使用数据库或其他持久存储机制来存储生成的令牌。请注意,这两种实现都需要UserDetailsService。如果您使用的身份原创 2022-03-16 10:32:37 · 1610 阅读 · 0 评论 -
SpringSecurity中文文档—Authentication—Session Management
文章目录Detecting TimeoutsConcurrent Session ControlSession Fixation Attack ProtectionDetecting Timeouts您可以将Spring Security配置为检测无效会话ID的提交,并将用户重定向到适当的URL。这是通过会话管理元素实现的:@Overrideprotected void configure(HttpSecurity http) throws Exception{ http .原创 2022-03-06 23:09:46 · 834 阅读 · 0 评论 -
SpringSecurity中文文档—Authentication— Reading Username/Password
验证用户身份最常见的方法之一是验证用户名和密码。因此,Spring Security为使用用户名和密码进行身份验证提供了全面的支持。Spring Security为从HttpServletRequest读取用户名和密码提供了三种内置机制:Form、Basic、Digest。Form LoginSpring Security支持通过html表单提供用户名和密码。本节详细介绍了基于表单的身份验证如何在Spring Security中工作。让我们看看Spring Security中基于表单的登录是如何工作的原创 2022-03-06 00:23:04 · 1615 阅读 · 0 评论 -
SpringSecurity中文文档—Authentication— Authentication Architecture
SecurityContextHolderSecurityContextHolder是Spring Security存储身份验证人员详细信息的地方。Spring Security认证模型的核心是SecurityContextHolder。它包含SecurityContext。Spring Security不关心SecurityContextHolder的填充方式。如果它包含一个值,则将其用作当前经过身份验证的用户。指示用户已通过身份验证的最简单方法是直接设置SecurityContextHolder原创 2022-03-03 11:12:55 · 4221 阅读 · 0 评论 -
SpringSecurity中文文档——Architecture
Spring Security 的 Serlvet支持是基于Servelt的过滤器实现的,下图展示了一个HTTP请求典型的分层处理过程。当客户端发送一个请求到应用时,容器会创建一个过滤器链FilterChain,包含Filter和基于请求URI处理HttpServletRequest 的Servlet。在SpringMVC应用中,Servlet是DispatcherServlet的一个实例。一个Servlet最多只能处理一个HttpServletRequest和HttpServletResponse。原创 2022-03-01 20:21:11 · 2389 阅读 · 2 评论 -
Annotations——@Import注解
文章目录@Import注解的作用声明Bean和导入@Configuration导入ImportSelector的实现类@Import注解的作用Spring 3.0之前,我们的Bean可以通过xml配置文件与扫描特定包下面的类来将类注入到Spring IOC容器内。Spring 3.0之后提供了JavaConfig的方式,也就是将IOC容器里Bean的元信息以java代码的方式进行描述。我们可以...原创 2020-02-13 19:59:02 · 375 阅读 · 0 评论 -
SpringCloud之Eureka(一)
Eureka是什么Spring Cloud Eureka是Spring Cloud Netflix微服务套件的一部分,它是基于Netflix Eureka的二次封装,主要负责完成微服务中各个的服务注册与发现。假设我们有两个服务A和B,其中A服务需要调用到B服务来完成某个业务操作,如果没有注册中心,我们可能会将B服务的地址和接口API以配置文件的形式注入到应用中,但随着业务的增长,单个的服务B可能...原创 2020-02-03 11:42:34 · 350 阅读 · 0 评论 -
通过Java反射来实现接口字段的可配置化
项目中与外部系统的数据交互肯定少不了,大部分项目的对外接口其实可以固定,基本是万年不变。但是现在在做的百度CMS系统由于对接了太多的业务线,各个业务线推送合同的字段不一样,并且由于安全的考虑,并不会放开所有字段推送给外部系统。这就造成一个问题,随着各业务线的业务需要,可能会时不时的改动数据传输的接口,这就增加了开发的工作量,由于基本都是后台定时任务,QA测试也并不是很方便,因此就想搞一个前台可配置...原创 2020-01-30 23:30:18 · 2919 阅读 · 0 评论 -
文件编码识别工具icu4j
需求背景PM接了个邮件预览的需求,其他项目组买了Aspose.Email for Java的服务,包装一下做了个邮件转换服务,将eml、msg格式转换为html文本,将html以流的形式返回。基于这个邮件转换服务,我们开发出邮件预览功能。思路就是文件传到他们那边,拿到返回的流,之后有两种方式:1.流写入文件,让用户下载。2.将返回的流转为字符串,让前端开一个tab进行渲染。其实在我们接入之前,...原创 2020-01-16 22:02:05 · 1646 阅读 · 0 评论 -
Java后端XSS攻击防护和防止SQL注入
最近在重构老项目的部分功能,发现项目中没有对XSS攻击防护的过滤,做了XSS过滤器,顺带整理一下内容。SQL注入一个SQL注入例子我们举一个简单的sql注入例子,来解释其是如何进行注入的。假设现有一个登录功能,提交时需要验证用户名和密码,后台的验证是通过查库中的USER表完成的:String sql = "select * from USER where username= ' "+use...原创 2020-01-07 17:05:06 · 3019 阅读 · 2 评论 -
Java日志——日志框架与SLF4J的整合
之前已经介绍过了常用的JUL、Log4j、Logback等常用的日志框架,现将它们与SLF4J作一个整合。先放一张SLF4J官网的图片,后面我们一点一点的来看。Logback+SLF4J对于Logback+SLF4J的使用,我们只需要引入logback-classic这个pom就行了,因为这个pom会自动帮我们引入logback-core、slf4j-api等pom。这种方式配置还是很简单...原创 2019-12-10 15:28:01 · 290 阅读 · 0 评论 -
Annotations——@AliasFor注解和@Inherite注解
文章目录@AliasFor的作用几种@AliasFor的使用场景在同一个注解内显示使用@AliasFor的作用@AliasFor是一个Spring提供的注解,顾名思义,alias单词是别名的意思,可以看出这个注解是起别名用的。具体的例子,我们在其使用方式中一一列举。几种@AliasFor的使用场景在同一个注解内显示使用我们摘一段RequestMapping注解中的代码来举例此种情况的使用...原创 2019-11-29 16:48:15 · 1761 阅读 · 0 评论 -
Java中的锁
文章目录锁的分类乐观锁与悲观锁CASCAS的三大问题自旋锁和适应性自旋锁自旋锁的缺点无锁、偏向锁、轻量级锁、重量级锁无锁锁的分类Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。下面给出本文内容的总体分类目录:乐观锁与悲观锁乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。在Java和数据库中...转载 2019-11-17 23:29:57 · 184 阅读 · 0 评论 -
Java日志——Logback的使用及原理
文章目录LogbackLogback的Maven引入Logback与日志门面slf4jLogbackLogback与Log4j的作者是同一个人,从官网介绍中也说明了,Logback的目的是作为流行的log4j项目的接替者。Logback分为三个模块:logback-core:核心代码模块,为其他两个模块奠定基础。logback-classic:对Log4j的一个改良版本,同时实现了sl...原创 2019-11-15 15:37:39 · 4695 阅读 · 0 评论 -
Java日志——Log4j的使用及原理
文章目录什么是Log4jLog4j的日志级别(Level)org.apache.log4j.Priorityorg.apache.log4j.Levelcom.log4j.Logger类org.apache.log4j.spi.AppenderAttachable接口org.apache.log4j.Category类com.log4j.Logger类什么是Log4jLog4J 是 Apach...原创 2019-11-11 21:43:05 · 1264 阅读 · 0 评论 -
Java日志——JUL(java.util.logging)的使用及原理
文章目录日志原理简述JULJUL定义的日志级别关于构造函数中defaultBundle的解释Level中的静态内部类KnownLevel的功能LogManager类的用法LogManager对象的初始化LogManager对象配置的装载日志原理简述日志功能的实现基本靠一下几个组件来完成:Loggers:Logger负责捕捉事件并将其发送给合适的AppenderAppenders:也称为H...原创 2019-10-24 14:55:16 · 3063 阅读 · 0 评论