一.简介
网络安全是如此重要,项目开发中我们经常会使用Spring Security / Shiro 实现安全控制,即对访问人员的认证和授权。移动互联网的发展出现了多端访问(Android、IOS、小程序、Web) 和对高并发、高可用、分布式的要求,对于传统Web开发,服务器端会维护用户登录信息,对高并发将是一个严重的性能制约。
1.基于多端访问,服务端无状态(stateless) 要求,JWT 是一种非常优秀的解决方案;
2.后台管理接口为了安全一定要有权限校验,防止客户端用户非法破坏数据。
二.流程
1.RequiredPermission.java 权限注解定义
package com.vincent;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RequiredPermission {
String value();
}
2.PermissionInterceptor.java 权限拦截器
public class PermissionInterceptor extends HandlerInterceptorAdapter{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse respons