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

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();

egg.js开发博客

2018-04-20   朋也   javascript学习笔记   egg.js  

业余时间学了一下egg.js,并开发了个非常简单的博客,实现了 CRUD 功能,总结一下

安装

$ npm i egg-init -g
$ egg-init eblog --type=simple
$ cd eblog
$ yarn install

使用axios一次上传多张图片,自带上传进度

2018-04-16   朋也   javascript学习笔记   axios  

引入JS

国内就用 https://bootcdn.cn 上找一下axios的链接就可以了

用法

<input type="file" multiple accept="image/jpeg,image/png," name="multipleFile" id="multipleFile"/>

在非NodeJS项目里使用Vue

2018-04-16   朋也   javascript学习笔记   vue.js  

背景: 作为一个后台开发人员,有时候想用一下前端的框架来构建页面,总结一下在非NodeJS项目里用Vue的方法

引入JS

国内就用 https://bootcdn.cn 上找一下vue的链接就可以了

Java8里的stream使用总结

2018-01-30   朋也   杂项   java  

java8里新特性之一 stream,非常的好用,就是容易忘了怎么写了,下面来总结一下

spring-boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息

2018-01-11   朋也   spring-boot学习笔记   spring-boot hibernate-validator  

创建项目

使用IDEA创建一个spring-boot项目,依赖选上 web, validation, freemarker 即可

先看看效果