springboot登录拦截权限整合html

这是我自己写出的登录拦截案例,之前写这个在网上找了一些但描述的感觉都不太懂。

于是自己试着写了一遍,可以供各位进行参考(注意本文章标红的地方需要可能进行改动)

有什么不懂的可以滴滴我哦

下面是我的目录

首先把这两个类复制进去(标红的地方是需要改动的地方,根据你的登录页面)

WebMvcConfig.java
package com.lyh.common;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

import javax.annotation.Resource;

@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter implements WebMvcConfigurer {
    @Resource
    AuthInterceptor authInterceptor;
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(authInterceptor)
//                .addPathPatterns("/api/**")
                .addPathPatterns("/page/end/**")
                .excludePathPatterns("/**/*.js")
                .excludePathPatterns("/**/*.css")
                .excludePathPatterns("/page/end/adminLogin.html", "/page/end/register.html")
                .excludePathPatterns("/api/user/login", "/api/user/register","/api/setmeal/getAllSetmeal");
    }


}

AuthInterceptor.java(注意这里标红的地方,要与你登录的controller方法存session的值相对应)
package com.lyh.common;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 拦截器
 */
@Configuration
public class AuthInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException, IOException {
        Object user = request.getSession().getAttribute("user");
        if (user != null) {
            request.getSession().setAttribute("user", user);
            return true;
        }
        response.sendRedirect("/page/end/adminLogin.html");
        return false;
    }

}
adminLogin.java(要与上述的user相对应)

package com.lyh.controller;

import com.lyh.entity.Admin;
import com.lyh.service.AdminService;
import com.lyh.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

@RestController
@RequestMapping("/admin")
@CrossOrigin
public class AdminController {
    @Autowired
    private AdminService adminService;

    /**
     * 登录
     */
    @PostMapping("/adminLogin")
    public Result<Admin> login(@RequestBody Admin admin, HttpServletRequest request) {
        Admin res = adminService.adminLogin(admin);

        request.getSession().setAttribute("user", res);  // 存入 session

        return Result.success(res);
    }
}

下面这个是前台的登录页面,也要与上述的user相对应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值