2016-08-09 4 views
-1

私は春のブートを学習しています。私は自分のプロジェクトを実行することができますが、アクセスしようとすると空白のページができたら、ログイン/パスワードのプロンプトが表示されます。プロパティファイル、私はいつもエラーが発生します。私の新しい春のブートアプリケーションにログインするには?

pom.xmlは次のとおりです。

spring.datasource.url = jdbc:mysql://localhost:3306/app 
spring.datasource.name=app 
spring.datasource.username=app 
spring.datasource.password=appPassword 
spring.datasource.driver-class-name=com.mysql.jdbc.Driver 
spring.jpa.database=mysql 
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect 

security.user.name=master 
security.user.password=abc123 

そして、最後に、私の主なクラスがある::

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>b.c.g</groupId> 
    <artifactId>app</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 

    <name>appName</name> 
    <description>appDescription</description> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.4.0.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-cache</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-jersey</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.projectlombok</groupId> 
      <artifactId>lombok</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-mail</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-mobile</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-social-facebook</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-social-twitter</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-thymeleaf</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web-services</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-tomcat</artifactId> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.restdocs</groupId> 
      <artifactId>spring-restdocs-mockmvc</artifactId> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

application.propertiesがある

@Configuration 
@EnableAutoConfiguration 
@ComponentScan 
@Controller 
public class AppNameApplication { 

    @ResponseBody 
    @RequestMapping(value = "/") 
    public String entry() { 
     return "AppName"; 
    } 

    public static void main(String[] args) { 
     SpringApplication.run(AppNameApplication.class, args); 
    } 
} 

私はベテラン春のユーザーだが、I私の開発スキルを高めるために春のブートを学んでいます。

私はブラウザに乗るエラーは次のとおりです。

ホワイトレーベルのエラーページ

あなたがフォールバックとして これを見ているように、このアプリケーションは、のために/エラー明示的なマッピングを持っていません。 Tue Aug 09 13:33:59 BRT 2016 予期しないエラーが発生しました(type = Unauthorized、status = 401)。不正な資格情報

私は今何も起こっていないことを知っていますが、これは予想される動作ですか?少なくとも、ログインできるはずはありませんか?

+0

ログインしてどういう意味ですか?アプリのどの部分がユーザーを管理しているか、認証していますか? –

+3

あなたは春のセキュリティスターターを使用していますので、エンドポイントにアクセスできるかどうかを確認するために最初に削除することをお勧めします。それがうまくいくならば、スプリングのセキュリティを設定する方法を学ぶ必要があります。 Btw、あなたが一回の撮影ですべてを追加するのではなく、ステップごとにSpringBootのスタートを学びたい場合。 –

+0

スプリングブートセキュリティの設定については、こちらを参照してください。http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-security – woemler

答えて

2

私は素晴らしい詳細でコメントすることはできませんので、私はこの答えをより詳細な "コメント"として投稿します。あなたのpom.xmlで

あなたは春のセキュリティスターターを追加しました:

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-security</artifactId> 
</dependency> 

この春は、あなたの不正エラーしたがって、あなたのエンドポイントにアクセスするためにセキュリティを有効にすることを意味します。 Spring Securityのデフォルトの動作は、アプリケーション全体をロックすることです。

したがって、アクセスを可能にするには、それに応じて春のセキュリティを設定する必要があります。

このリンクのように詳細なhttps://spring.io/guides/gs/securing-web/

あなたは例の下、WebSecurity社のコンフィギュラを作成する必要があります。春のセキュリティに巻き込ま前に

@Configuration 
@EnableWebSecurity 
public class WebSecurityConfig extends WebSecurityConfigurerAdapter { 
    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http 
      .authorizeRequests() 
       .antMatchers("/", "/home").permitAll() 
       .anyRequest().authenticated() 
       .and() 
      .formLogin() 
       .loginPage("/login") 
       .permitAll() 
       .and() 
      .logout() 
       .permitAll(); 
    } 

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

、あなたは最初のセキュリティスターターを削除して、アクセスしてみてくださいエンドポイント。 APIが期待どおりに動作することを確認したら、セキュリティで再生を開始できます。同様に、初心者から始めて1つずつ追加することをお勧めします。一方、1つの撮影ですべてを追加するのではなく、学習します。

+1

デフォルトの 'spring-boot-starter-security'ですか?すべてをブロックする動作? –

+0

@Federico Piazza、ありがとう!私は最初から始めます。 – gtludwig

+1

@SotiriosDelimanolis、私は嘘をついているので私は 'はい'と言うことはできませんが、私は同じ問題に直面し、 'allowAll'を使ってWebコンフィギュレータを追加したときに修正したことを覚えています。 –

関連する問題