访问权限拦截

// 根据路由权限去让不让去跳转,使用路由的全局前置守卫。
		// beforeEach((to,from , next )=>{
		// })
		// 1,to是去哪个页面
		// 2, from是从那个页面来。
		// 3,next 正常跳转。

		/*
		引入路由文件.和store ,
		获取token,根据tokenl来判断有没有登录。
		*/
		const whiteList = ["/login", '/404']//声明的白名单
		router.beforeEact((to.from, next) => {
			//获取token
			const token = store.getters.token;
			//如果有token ,
			if (token) {
				// 判断是不是去的登录页,如果是跳转到首页。
				if (to.path === "/login") {
					next("/home")
				} else { //已经登录,不是去登录页,那就随便去哪个页面,不管了
					next()
				}
			} else { //没有登录,根据白名单 去跳转页面
				if (whiteList.includes(to.path)) {
					//要去的页面是不是白名单里面,如果是,就让跳转
					next()
				} else { //不是让他去登录。
					next("/login")
				}
			}

		})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Repository层访问数据库时,我们可以通过拦截器(Interceptor)来拦截数据库的访问,从而实现一些额外的功能,例如:日志记录、权限控制、事务管理等。 在Java中,我们可以使用Mybatis提供的拦截器接口Interceptor来实现拦截器。具体的实现步骤如下: 1. 实现Interceptor接口,重写intercept方法,该方法中可以实现拦截器的具体逻辑。 2. 在Mybatis的配置文件中,配置拦截器。 例如,在Mybatis中配置一个日志拦截器,可以将所有的SQL语句及其执行时间记录到日志中,具体实现如下: 1. 实现Interceptor接口,重写intercept方法: ```java public class LogInterceptor implements Interceptor { @Override public Object intercept(Invocation invocation) throws Throwable { // 获取当前执行的SQL语句 MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[0]; Object parameter = invocation.getArgs()[1]; BoundSql boundSql = mappedStatement.getBoundSql(parameter); String sql = boundSql.getSql(); // 记录SQL执行时间 long startTime = System.currentTimeMillis(); Object result = invocation.proceed(); long endTime = System.currentTimeMillis(); long time = endTime - startTime; // 将SQL及其执行时间记录到日志中 log.info("SQL:{},执行时间:{}ms", sql, time); return result; } @Override public Object plugin(Object target) { return Plugin.wrap(target, this); } @Override public void setProperties(Properties properties) { } } ``` 2. 在Mybatis的配置文件中,配置拦截器: ```xml <configuration> <plugins> <plugin interceptor="com.example.LogInterceptor"></plugin> </plugins> </configuration> ``` 通过上述配置,我们就可以将LogInterceptor拦截器应用到所有的SQL执行中,实现SQL执行的日志记录功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值