質問内容
Spring Security でログインURL以外の「想定外のURL」が指定されたときに404ページを表示させる設定は可能でしょうか?
また、可能な場合、どのような記述になるでしょうか?
下記ソースコード例のように、http.formLogin()を記述すると、例えばURL「http://hogehoge:8080/abcdefg」(abcdefgは適当な文字列です。)にアクセスした場合に、ログインページに遷移する挙動になると思います。
上記の場合に、404ページを表示させるようにしたいです。
実際にログインするときには、「http://hogehoge:8080/」にアクセスしたときのみログインページに遷移するようにしたいと考えています。
もし解決法がわかりましたら、ご教示頂けると助かります。
ソースコード例
@Override protected void configure(HttpSecurity http) throws Exception { // 認可の設定 http.authorizeRequests() .antMatchers("/", "/index").permitAll() // indexは全ユーザーアクセス許可 .anyRequest().authenticated(); // それ以外は全て認証無しの場合アクセス不許可 // ログイン設定 http.formLogin() .loginProcessingUrl("/login") // 認証処理のパス .loginPage("/") // ログインフォームのパス .failureHandler(new SampleAuthenticationFailureHandler()) // 認証失敗時に呼ばれるハンドラクラス .defaultSuccessUrl("/menu") // 認証成功時の遷移先 .usernameParameter("login_id").passwordParameter("login_password") // ユーザー名、パスワードのパラメータ名 .and(); // ログアウト設定 http.logout() .logoutRequestMatcher(new AntPathRequestMatcher("/logout**")) // ログアウト処理のパス .logoutSuccessUrl("/index"); // ログアウト完了時のパス }
あなたの回答
tips
プレビュー