
Spring Security
文章平均质量分 73
Java Gosling
GO BIG OR GO HOME.
要么出众,要么出局。
展开
-
Spring Security---自动登录二次校验和持久化令牌
Spring Security为用户提供了方便的记住密码功能,将生成的rememberMeToken放入了cookie中,这也意味着只要token没有过期,一旦泄漏后就会产生安全风险。所以应该提供其它的校验进一步来加强系统的安全性。二次校验在用户自动登录后,可以通过对密码进行二次校验进而确保用户的真实性。尽管Spring Security提供了记住密码功能,但是也为我们提供了二次校验的功能。思路是对一些查询等不进行修改操作的接口,此时我们允许通过二次登录的用户直接进行查看,但是对于一些修改数据的接口,原创 2021-11-03 19:39:32 · 1093 阅读 · 0 评论 -
Spring Security---实现自动登陆功能
当我们在登录像QQ邮箱这种大多数的网站,往往在登录按键上会有下次自动登录这个选项,勾选后登录成功,在一段时间内,即便退出浏览器或者服务器重启,再次访问不需要用户输入账号密码进行登录,这也解决了用户每次输入账号密码的麻烦。接下来实现自动登陆。applicatio.properties配置用户名密码spring.security.user.name=javaspring.security.user.password=javacontroller层实现@RestControllerpub原创 2021-11-03 19:08:21 · 1185 阅读 · 0 评论 -
Spring Security---会话固定攻击防御
什么是会话固定攻击?会话固定攻击英文叫做 session fixation attack,其攻击原理是利用sessionId的不变性。假设攻击者登录www.xxx.com网站,此时会生成一个sessionId。攻击者利用某种手段欺骗受害者访问该网站,但是会在网站后拼接自己的sessionId。当受害者访问www.xxx.com并进行登录后,此时的sessionId还是攻击者登录后返回的sessionId,因为sessionId没有变化,当攻击者再次登录该网站后,此时系统发现sessionId没有发生变化原创 2021-10-30 16:44:00 · 3036 阅读 · 0 评论 -
Spring Security---自定义获取用户IP
之前在Spring Security流程的文章里提到过setDetails方法,也就是在WebAuthenticationDetails记录了IP和sessionId。public WebAuthenticationDetails(HttpServletRequest request) { this.remoteAddress = request.getRemoteAddr(); HttpSession session = request.getSession(false); this.原创 2021-10-28 20:06:48 · 1457 阅读 · 0 评论 -
Spring Security---登陆流程分析
在Spring Security中,认证授权都是通过过滤器来实现的。当开始登陆的时候,有一个关键的过滤器UsernamePasswordAuthenticationFilter,该类继承抽象类AbstractAuthenticationProcessingFilter,在AbstractAuthenticationProcessingFilter里有一个doFilter方法,一切先从这里说起。private void doFilter(HttpServletRequest request, HttpSe原创 2021-10-28 19:28:41 · 375 阅读 · 0 评论 -
Spring Security---角色授权
之前已经配置好了两个用户java和cpp,不知道如何配置的可以看一下前面的文章。Spring Security—简介及初体验Spring Security—表单登陆配置介绍角色的分配大致是:jerry:admin角色,拥有所有权限(sys、data)tom:user角色,拥有查看数据(data)的权限先写一个简单的controller@RestControllerpublic class HelloController { @GetMapping("/hello") pu原创 2021-10-27 19:08:36 · 545 阅读 · 0 评论 -
Spring Security---表单登陆配置介绍
Spring Security提供一些对表单登陆的配置,我们可以通过对他们进行配置来达到我们想要的效果。编写一个配置类继承WebSecurityConfigurerAdapter,然后重写configure方法。@Configurationpublic class SecurityConfig extends WebSecurityConfigurerAdapter { @Override public void configure(WebSecurity web) throws E原创 2021-10-26 22:36:14 · 524 阅读 · 0 评论 -
Spring Security---简介及初体验
Spring Security介绍Spring框架带给了Java春天,但随着Java逐渐再次火了起来,出来了许多优秀的权限管理框架。Shiro和Spring Security无疑是让开发者争议较大的两个框架。对于Shiro,轻量、易于集成、简单易上手等无疑是它最大的优势。难道Shiro就没有缺点了吗?当然有,比如对于OAuth2支持不够,同时在Spring生态大火的前提下,Spring Security作为家族中的一员,明显占据着绝对的优势。简单的说一下Spring Security的老事情。早起有原创 2021-10-25 22:04:31 · 226 阅读 · 0 评论