2017-05-26 17 views
0

悪いタイトルについて申し訳ありませんが、私は言葉でそれを置く方法を知らなかった。春の認証ページの変更

  • 春のWeb
  • 春のセキュリティ
  • 春のアクチュエータ
  • 春JPA

    <parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.5.3.RELEASE</version> 
    <relativePath/> <!-- lookup parent from repository --> 
    </parent> 
    
    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    <java.version>1.8</java.version> 
    </properties> 
    
    <dependencies> 
    <dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-actuator</artifactId> 
    </dependency> 
    <dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-data-jpa</artifactId> 
    </dependency> 
    <dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-security</artifactId> 
    </dependency> 
    <dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
    
    <dependency> 
        <groupId>mysql</groupId> 
        <artifactId>mysql-connector-java</artifactId> 
        <scope>runtime</scope> 
    </dependency> 
    <dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-test</artifactId> 
        <scope>test</scope> 
    </dependency> 
    </dependencies> 
    
    <build> 
    <plugins> 
        <plugin> 
         <groupId>org.springframework.boot</groupId> 
         <artifactId>spring-boot-maven-plugin</artifactId> 
        </plugin> 
    </plugins> 
    </build> 
    

私の問題は、私はプロジェクトと春Initializrを使用して作成したということです

私はURLをマッピングし、それをアクセスしようとすると、私はこの素敵なログインフォームを取得:

login form

しかし、私は

@Configuration 
@EnableWebSecurity 
public class WebSecurityConfig extends WebSecurityConfigurerAdapter { 

@Autowired 
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { 
    auth 
      .inMemoryAuthentication() 
      .withUser("admin").password("admin").roles("ADMIN"); 
    } 
} 

でセキュリティを無効にするとき、私はこの醜いログインフォーム

を取得

ugly login form

私が推測するのは、設定を上書きするときに、Springが使用するログインフォームが変更されているか間違ったSpringセキュリティを使用しています。

これがなぜ起こるのか誰かが教えてもらえますか?ありがとう!

+0

@EnableWebSecurityを削除しましたが、今でもアプリケーションはアクチュエータログインフォームを使用しています。ごめんなさい。 –

答えて

0

最初のniceログインフォームは、お使いのブラウザに属します。異なるブラウザを試してみると、異なる結果が表示されます。ブラウザがアプリケーションのURLを要求すると、アプリケーションが不正なコードで応答した後、ブラウザは要求を再試行するための資格情報を入力するよう要求します。

醜いログインフォームは、春のデフォルトです。あなたはそれを好きなようにスタイル設定することができます。開始するには、thisまたはthisの例を参照してください。あなたはいくつかのCSSを追加する必要があります。

あなたはこのようになりますクラスWebSecurityConfigurerAdapterを拡張するときにオーバーライドしていない方法configure(HttpSecurity http)のデフォルトの実装:あなたは醜いログインフォームを取得する場所.formLogin()であることを

protected void configure(HttpSecurity http) throws Exception { 
    logger.debug("Using default configure(HttpSecurity). If subclassed this will potentially override subclass configure(HttpSecurity)."); 

    http 
     .authorizeRequests() 
      .anyRequest().authenticated() 
      .and() 
     .formLogin().and() 
     .httpBasic(); 
} 

関連する問題