1、前端登陆,将用户信息传到后台

2、后台验证账号密码,如果账号密码信息正确,将登陆的用户信息保存到session中

3、自定义注解  注解名为 CheckLogin

@Target({ElementType.TYPE,ElementType.METHOD})

@Retention(RetentionPolicy.RUNTIME)

@Inherited

@Documented

public @interface CheckLogin {

}

4、写一个拦截器,判断你的方法或者类上是否存在@CheakLogin注解,如何存在 验证账号密码是否正确

public class PermissionInterceptor extends HandlerInterceptorAdapter {

private SessionManager sessionManager;

@Autowired

public PermissionInterceptor(SessionManager sessionManager){

this.sessionManager = sessionManager;

}

@Override

public boolean preHandle(HttpServletRequest request,

HttpServletResponse response, Object handler) throws Exception {

if (handler instanceof HandlerMethod){

HandlerMethod hm = (HandlerMethod)handler;

handleClassCheckLogin(hm);

handleMethodCheckLogin(hm);

}

return super.preHandle(request, response, handler);

}

// 这里我判断了类 或者 方法上面是否有我自定义的注解,如果有注解,就去从session中验证用户是否登陆成功

private void handleClassCheckLogin(HandlerMethod hm){

if ( AnnotationUtils.findAnnotation(hm.getBeanType(), CheckLogin.class) != null){

sessionManager.checkLogin();

}

}

private void handleMethodCheckLogin(HandlerMethod hm){

if ( hm.getMethodAnnotation(CheckLogin.class) != null){

sessionManager.checkLogin();

}

}

}

5、Springboot配置拦截器(spring mvc 直接在配置中配置就可)

/**

* web拦截器,检查是否登陆

*/

@Configuration

public class WebConfig extends WebMvcConfigurerAdapter {

@Bean

public SessionManager getSessionManager(){

return new SessionManager();

}

@Override

public void addInterceptors(InterceptorRegistry registry) {

registry.addInterceptor(new PermissionInterceptor(getSessionManager())).addPathPatterns("/**");

super.addInterceptors(registry);

}

}

6、ok了,在你和前端交互的那一层 类上或方法上打上cheacLogin吧

java 注解 权限_java 使用注解 处理权限(springboot)相关推荐

  1. java 自定义注解 解析_java自定义注解

    1.Annotation的工作原理: JDK5.0中提供了注解的功能,允许开发者定义和使用自己的注解类型.该功能由一个定义注解类型的语法和描述一个注解声明的语法,读取注解的API,一个使用注解修饰的c ...

  2. java 获取文件权限_Java中的文件权限,检查权限和更改权限 - Break易站

    Java提供了许多方法调用来检查和更改文件的权限,例如可以将只读文件更改为具有写入权限.当用户想要限制文件允许的操作时,需要更改文件权限.例如,文件权限可以从写入更改为只读,因为用户不再想要编辑文件. ...

  3. java注解大全_java开发注解大全

    1.最基础注解(spring-context包下的org.springframework.stereotype) 1.1.@Controller @Service @Repository @Confi ...

  4. java annotation入门_JAVA - Annotation 注解 入门

    Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.在这个教程当中,我们将学习Java的注解,如何定制注解,注解的使用以及如何通过反射解析注解. Java1.5引入了注解,当前许 ...

  5. java的默认访问权限_java类的访问权限

    1.解析 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符. private: Java语言中对访问权限限制的最窄的修 ...

  6. java的四种访问权限_Java四种访问权限

    一.访问权限简介 访问权限控制: 指的是本类及本类内部的成员(成员变量.成员方法.内部类)对其他类的可见性,即这些内容是否允许其他类访问.Java 中一共有四种访问权限控制,其权限控制的大小情况是这样 ...

  7. java自定义注解处理器_java自定义注解学习(注解处理器)

    如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了.使用注解的过程中,很重要的一部分就是创建于使用注解处理器.Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处 ...

  8. java类注释_java中注解

    一.什么是注解 注解是jdk5.0引入的新技术! 注解(Annotation):java中对某一程序片段注释说明.这个注释说明能被其它程序读到并执行相应操作! 二.注解的作用 1.能对于程序做出解释, ...

  9. java 位掩码_Java位掩码控制权限与()或(|)非(~)、的介绍

    1. java 位掩码 java 位掩码,在java开发中很少有场景会用到掩码,但是当系统中需要判断某个对象是否有 某些权限时,可以通过位掩码来做. 位掩码 主要通过位运算,例如与(&).非( ...

最新文章

  1. Windows下Erlang开发环境搭建
  2. Tengine(nginx) 搭建Tomcat集群
  3. PHP垃圾回收机制防止内存溢出
  4. mysql带DISTINCT 关键字的查询
  5. 智能骨传导眼镜vue_穿戴设备迎新机遇,智能音频眼镜或将是下一个风口
  6. 第15章 SpringBoot集成logging日志
  7. Flyweight Pattern简单随笔
  8. 如何实现 OpenAPI 多语言 SDK 开发?
  9. 关闭Windows自动更新
  10. matlaba绘制gps星空图_网络图横道图绘制软件 5.0免锁版告别纯手工绘制,修改工作量大!...
  11. 亚马逊与 Uber,软件开发的方式有何不同?
  12. 华为鸿蒙开源!敢为全球第一全场景分布式 OS,可替换 Android!
  13. 【转】离婚男人给女孩的恋爱忠告
  14. object-c category
  15. Springboot中常用的注解
  16. 深度学习资料整理(深度神经网络理解)
  17. 开封 计算机职称培训,2017河南职称计算机考试报名:开封职称计算机报名入口...
  18. HSRP协议 实现单 双机热备份(计算机网络课设)
  19. 100天精通Andriod逆向——第5天:app逆向流程简介
  20. CWS(美国国土安全部下属的软件保证项目)与SANS(权威安全培训组织)联合编制的最危险的25个编程错误

热门文章

  1. myeclipse连接hadoop集群编程及问题解决
  2. Android加速度传感器
  3. Android开发之--Preferences的使用
  4. 解决使用个推后背景音乐音量变小问题
  5. exit()和_exit()函数
  6. 【云上ELK系列】Logstash迁移Elasticsearch数据方法解读
  7. secureCRT的安装及破解
  8. The Excel Connection Manager is not supported in the 64-bit version of SSIS, as no OLE DB provider i
  9. 【ABAP增强】基于源代码的增强
  10. 【转】SAP整合技术研究