springboot2.xログインブロックの構成
3213 ワード
参照リンク:https://blog.csdn.net/qq_36177977/article/details/86241780
1.ブロッキングクラスLoginInterceptorを作成してHandlerInterceptorインタフェースを実現します.numberはあなたのログインユーザー名のkeyです.ログインが完了したら、ログイン名をsession(session.setAttribute(「number」,number);)に保存する必要があります. preHandle:ビジネスプロセッサが要求を処理する前に呼び出されます.前処理は、符号化、安全制御、権限検査などの処理を行うことができる. postHandle:ビジネスプロセッサ処理要求の実行が完了した後、ビューを生成する前に実行します.後処理(サービスを呼び出してModelAndViewに戻りますが、ページレンダリングは行われません)、ModelAndViewを変更する機会があります. afterCompletion:DispatcherServiceletが要求を完全に処理した後に呼び出され、リソースのクリーンアップなどに使用できます.処理を返します(ページがレンダリングされています).
2.ブロッキングを登録し、MyWebAppConfigurerクラスを作成してWebMvcConfigurerインタフェースを実現し、addPathPatternsメソッドはブロッキングパスを設定し、excludePathPatternsメソッドはホワイトリストを設定し、つまりこのブロッキングをトリガーする必要がないパスを設定します.
3.注意点:自分のアクセス登録ページインタフェースと登録インタフェースをホワイトリストに入れないと、ずっと登録ページにとどまることになります.
4.アプリケーションで必要です.propertiesで静的リソースアクセスパスを構成します.html、css、js、ピクチャファイルにアクセスできません.
5.注意点:layuiのフロントフレームワークを使用しています.cssファイルにアクセスできない可能性があります.対応するファイルを開いてパスを変更し、手順4で構成した静的リソースアクセスパスに変更する必要があります.
1.ブロッキングクラスLoginInterceptorを作成してHandlerInterceptorインタフェースを実現します.numberはあなたのログインユーザー名のkeyです.ログインが完了したら、ログイン名をsession(session.setAttribute(「number」,number);)に保存する必要があります.
package security.util;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
/**
*
* @author xiaojian
*
*/
public class LoginInterceptor implements HandlerInterceptor{
private Logger logger = LoggerFactory.getLogger(LoginInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
String user = (String)request.getSession().getAttribute("number");
if (user == null || user.equals("")) {
logger.info(" ");
response.sendRedirect("/loginView");
return false;
}
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}
2.ブロッキングを登録し、MyWebAppConfigurerクラスを作成してWebMvcConfigurerインタフェースを実現し、addPathPatternsメソッドはブロッキングパスを設定し、excludePathPatternsメソッドはホワイトリストを設定し、つまりこのブロッキングをトリガーする必要がないパスを設定します.
package security.util;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* addPathPatterns ,excludePathPatterns , 。
* @author xiaojian
*
*/
@Configuration
public class MyWebAppConfigurer
implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**").excludePathPatterns("/login.html")
.excludePathPatterns("/loginView").excludePathPatterns("/login").excludePathPatterns("/static/**","/public");
}
}
3.注意点:自分のアクセス登録ページインタフェースと登録インタフェースをホワイトリストに入れないと、ずっと登録ページにとどまることになります.
4.アプリケーションで必要です.propertiesで静的リソースアクセスパスを構成します.html、css、js、ピクチャファイルにアクセスできません.
#
spring.mvc.static-path-pattern=/static/**
5.注意点:layuiのフロントフレームワークを使用しています.cssファイルにアクセスできない可能性があります.対応するファイルを開いてパスを変更し、手順4で構成した静的リソースアクセスパスに変更する必要があります.