ログイン画面で認証をした後、インターセプターを使用し
二段階認証のQRコードを表示する画面にリダイレクトし、QRコード画面にある「次へ」ボタンを
押下すると次の画面に行くという処理を行いたいのですが
QRコードの画面のボタンを押下すると
もう一度インターセプターのQRコードの画面を表示する処理へと無限ループしてしまいます。
以下該当ソース
●Intercepter
Java
1public class TwoFactorAuthenticationInterceptor implements HandlerInterceptor { 2 3 @Override 4 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) 5 throws Exception { 6 7 if (handler instanceof ResourceHttpRequestHandler) { 8 return true; 9 } 10 11 String uri = request.getRequestURI(); 12 13 if (!uri.endsWith("twoFactorAuthentication/index")) { 14 response.sendRedirect( 15 "twoFactorAuthentication/index" 16 ); 17 } 18 return true; 19 } 20 21 @Override 22 public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, 23 ModelAndView modelAndView) throws Exception { 24 System.out.println("postHandle"); 25 } 26 27 @Override 28 public void afterCompletion(HttpServletRequest request, HttpServletResponse response, 29 Object handler, Exception ex) throws Exception { 30 System.out.println("afterCompletion"); 31 } 32 33} 34
●Controller
java
1 2@Validated 3@Controller 4public class TwoFactorAuthenticationController { 5 @Autowired 6 TwoFactorAuthenticationService twoFactorAuthenticationService; 7 8 @GetMapping("twoFactorAuthentication/index") 9 public String twoFactorAuthenticationIndex(String id,HttpSession session, 10 Model model) { 11 12 ~~QRコード作成処理~~ 13 14 } 15 return "twoFactorAuthentication/index"; 16 } 17 18 19 //QRコード画面でボタンを押下した時の画面呼び出し 20 @RequestMapping(value = "B111102", method = RequestMethod.POST) 21 public String twoFactorAuthenticationCode() { 22 return "twoFactorAuthentication/B111102"; 23 } 24} 25
●MvcConfig
java
1 @Override 2 public void addInterceptors(InterceptorRegistry registry) { 3 registry.addInterceptor(new TwoFactorAuthenticationInterceptor()).addPathPatterns("/**") 4 .excludePathPatterns("/login") 5 .excludePathPatterns("/") 6 .excludePathPatterns("/twoFactorAuthentication/index") ; 7 }
よろしければご教授いただけると幸いです。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー