java 注解 权限_java 使用注解 处理权限(springboot)
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)相关推荐
- java 自定义注解 解析_java自定义注解
1.Annotation的工作原理: JDK5.0中提供了注解的功能,允许开发者定义和使用自己的注解类型.该功能由一个定义注解类型的语法和描述一个注解声明的语法,读取注解的API,一个使用注解修饰的c ...
- java 获取文件权限_Java中的文件权限,检查权限和更改权限 - Break易站
Java提供了许多方法调用来检查和更改文件的权限,例如可以将只读文件更改为具有写入权限.当用户想要限制文件允许的操作时,需要更改文件权限.例如,文件权限可以从写入更改为只读,因为用户不再想要编辑文件. ...
- java注解大全_java开发注解大全
1.最基础注解(spring-context包下的org.springframework.stereotype) 1.1.@Controller @Service @Repository @Confi ...
- java annotation入门_JAVA - Annotation 注解 入门
Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.在这个教程当中,我们将学习Java的注解,如何定制注解,注解的使用以及如何通过反射解析注解. Java1.5引入了注解,当前许 ...
- java的默认访问权限_java类的访问权限
1.解析 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符. private: Java语言中对访问权限限制的最窄的修 ...
- java的四种访问权限_Java四种访问权限
一.访问权限简介 访问权限控制: 指的是本类及本类内部的成员(成员变量.成员方法.内部类)对其他类的可见性,即这些内容是否允许其他类访问.Java 中一共有四种访问权限控制,其权限控制的大小情况是这样 ...
- java自定义注解处理器_java自定义注解学习(注解处理器)
如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了.使用注解的过程中,很重要的一部分就是创建于使用注解处理器.Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处 ...
- java类注释_java中注解
一.什么是注解 注解是jdk5.0引入的新技术! 注解(Annotation):java中对某一程序片段注释说明.这个注释说明能被其它程序读到并执行相应操作! 二.注解的作用 1.能对于程序做出解释, ...
- java 位掩码_Java位掩码控制权限与()或(|)非(~)、的介绍
1. java 位掩码 java 位掩码,在java开发中很少有场景会用到掩码,但是当系统中需要判断某个对象是否有 某些权限时,可以通过位掩码来做. 位掩码 主要通过位运算,例如与(&).非( ...
最新文章
- Windows下Erlang开发环境搭建
- Tengine(nginx) 搭建Tomcat集群
- PHP垃圾回收机制防止内存溢出
- mysql带DISTINCT 关键字的查询
- 智能骨传导眼镜vue_穿戴设备迎新机遇,智能音频眼镜或将是下一个风口
- 第15章 SpringBoot集成logging日志
- Flyweight Pattern简单随笔
- 如何实现 OpenAPI 多语言 SDK 开发?
- 关闭Windows自动更新
- matlaba绘制gps星空图_网络图横道图绘制软件 5.0免锁版告别纯手工绘制,修改工作量大!...
- 亚马逊与 Uber,软件开发的方式有何不同?
- 华为鸿蒙开源!敢为全球第一全场景分布式 OS,可替换 Android!
- 【转】离婚男人给女孩的恋爱忠告
- object-c category
- Springboot中常用的注解
- 深度学习资料整理(深度神经网络理解)
- 开封 计算机职称培训,2017河南职称计算机考试报名:开封职称计算机报名入口...
- HSRP协议 实现单 双机热备份(计算机网络课设)
- 100天精通Andriod逆向——第5天:app逆向流程简介
- CWS(美国国土安全部下属的软件保证项目)与SANS(权威安全培训组织)联合编制的最危险的25个编程错误
热门文章
- myeclipse连接hadoop集群编程及问题解决
- Android加速度传感器
- Android开发之--Preferences的使用
- 解决使用个推后背景音乐音量变小问题
- exit()和_exit()函数
- 【云上ELK系列】Logstash迁移Elasticsearch数据方法解读
- secureCRT的安装及破解
- The Excel Connection Manager is not supported in the 64-bit version of SSIS, as no OLE DB provider i
- 【ABAP增强】基于源代码的增强
- 【转】SAP整合技术研究