日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Springboot只允许进入登录注册的页面,没登录页面进行拦截。

發布時間:2023/12/31 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Springboot只允许进入登录注册的页面,没登录页面进行拦截。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先是index.html頁面:

<body style="text-align:center;"><form action="/denglu" method="post" id="text_form"><input type="text" name="name"></input><input type="password" name="password"></input><input type="submit" value="登錄"></input></form> </body>

然后是main.html頁面:

<body><h1>這是登錄后的頁面<h1> </body>

然后是Login的controller

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;@Controller public class Login {@RequestMapping("/denglu")public String tiaozhuan( HttpServletRequest request,HttpServletResponse response) {String name=request.getParameter("name");String password=request.getParameter("password");System.out.println("登錄的用戶名為:"+name+",密碼為:"+password);HttpSession session = request.getSession();String user=name+password;session.setAttribute("User", user);HttpSession Loginsession = request.getSession();Object users = Loginsession.getAttribute("User");System.out.println("users:"+users);if(users==null){System.out.println("user數據庫獲取為空");return "index";}else if(users.equals("nullnull")){System.out.println("未輸入相關參數");System.out.println("");return "index";}else { System.out.println("正常進入");return "main";} }@RequestMapping("/index")public String tiaozhuan1( ) {return "index"; } }

然后是配置類:

import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.stereotype.Controller; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set;/*** 登錄驗證攔截**/ @Controller @Component public class LoginInterceptor extends HandlerInterceptorAdapter {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throws Exception {String basePath = request.getContextPath();String path = request.getRequestURI();if(!doLoginInterceptor(path, basePath) ){//是否進行登陸攔截return true;}HttpSession session = request.getSession();Object users = session.getAttribute("User");System.out.println("users:"+users);if(users==null){String requestType = request.getHeader("X-Requested-With");if(requestType!=null && requestType.equals("XMLHttpRequest")){response.setHeader("sessionstatus","timeout");response.getWriter().print("index");return false;} else {System.out.println("尚未登錄,跳轉到登錄界面");response.sendRedirect(request.getContextPath()+"index");}return false;}return true;}/*** 是否進行登陸過濾* @param path* @param basePath* @return*/private boolean doLoginInterceptor(String path,String basePath){path = path.substring(basePath.length());Set<String> notLoginPaths = new HashSet<>();//設置不進行登錄攔截的路徑:登錄注冊和驗證碼//notLoginPaths.add("/");notLoginPaths.add("/index");notLoginPaths.add("/signin");notLoginPaths.add("/login");notLoginPaths.add("/register");notLoginPaths.add("/kaptcha.jpg");notLoginPaths.add("/kaptcha");if(notLoginPaths.contains(path)) return false;return true;} }

?訪問:http://localhost:8080/index? 會到登錄界面,登錄即可。

?訪問:http://localhost:8080/denglu? 也會到登錄界面,登錄即可。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Springboot只允许进入登录注册的页面,没登录页面进行拦截。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。