你貌似开启了广告屏蔽插件... 写博客不容易,希望能将广告过滤去掉,谢谢!

spring-security 实现用户名密码/图片验证码验证和记住我以及登录次数判断功能

2018-05-21   朋也   spring-boot学习笔记   spring-security  

这篇文章来介绍一下基于RBAC权限模式下的spring-security用法

  • 加载权限资源(MyInvocationSecurityMetadataSourceService)
  • 添加访问决策(MyAccessDecisionManager)
  • 添加权限拦截器(MyFilterSecurityInterceptor)
  • 加载用户权限(UserDetailService)

执行流程

  1. 用户提交登录信息
  2. 进入内置的拦截器 UsernamePasswordAuthenticationFilter 处理用户名密码正确性
  3. 验证完成后去加载用户权限(UserDetailService)
  4. 进入到权限拦截器(MyFilterSecurityInterceptor)
  5. 在权限拦截器里去调用MyInvocationSecurityMetadataSourceService的getAttributes()方法获取对应的所有权限
  6. 再调用MyAccessDecisionManager的decide方法来校验用户是否有对应的权限

上面流程是我断点看到的顺序,如有错误,欢迎在下面评论指出

下面给出相应的类源码,基本上都是固定写法

Java使用HttpUrlConnection下载网络文件

2018-05-11   朋也   java学习笔记   java  

单线程下载

读取文件长度

防止文件过大,建议用long接收

HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
long contentLength = connection.getContentLength();