Spring Securityはリクエストに対して403を返します

Ars:

ADMINロールとUSERロールを持つ2人のユーザーを作成しましたが、サーバーにログインしようとするたびに403が返されます。

WebSecurityConfig:

 @Override
    protected void configure(HttpSecurity http) throws Exception {

        http.authorizeRequests().antMatchers("/admin/**")
                .access("hasAnyAuthority('ADMIN','USER')")
                .and().formLogin().loginPage("/login").failureUrl("/login?error")
                .usernameParameter("username")
                .passwordParameter("password")
                .and().logout().logoutSuccessUrl("/login?logout")
                .and().csrf().disable();
    }

私のUserServiceは私のユーザーをdbからマッピングします:

@Transactional(readOnly = true)
    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {

        User user = userDao.findByUserName(username);
        org.springframework.security.core.userdetails.User.UserBuilder builder = null;
        if (user != null) {

            builder = org.springframework.security.core.userdetails.User.withUsername(username);
            builder.disabled(!user.isEnabled());
            builder.password(user.getPassword());
            String[] authorities = user.getUserRole()
                    .stream().map(a -> a.getRole()).toArray(String[]::new);

            builder.authorities(authorities);
        } else {
            throw new UsernameNotFoundException("User not found.");
        }
        return builder.build();
    }

csrfは無効です。また、hasAnyUthority *メソッドを使用しているため、ROLE_プレフィックスは必要ありません。春のセキュリティ5を使用しています

私のlogin.html

<head>
    <meta charset="utf-8"/>
    <link rel="stylesheet" type="text/css" href="resources/style.css"/>
</head>
<body>
<div class="container">
    <header>
        <h1>Login</h1>
    </header>
    <div class="alert alert-error" th:if="${error != null}">
        <div>
            <strong>Okay, Houston, we've had a problem here.</strong>
        </div>
    </div>
    <div class="alert alert-error" th:if="${logout != null}">
        <div>
            <strong>Okay, Houston, you're logged out successfully .</strong>
        </div>
    </div>
    <form class="form-horizontal" th:action="@{/login}" method="POST">
        <fieldset>
            <div class="control-group">
                <label class="control-label">Login</label>
                <div class="controls">
                    <div class="input-prepend">
                        <span class="add-on">@</span>
                        <input id="loginField" name="username" class="span3" type="text"/>
                    </div>
                </div>
            </div>
            <div class="control-group">
                <label class="control-label">Password</label>
                <div class="controls">
                    <input id="passwordField" name="password" class="span3" type="password"/>
                </div>
            </div>
            <div class="form-actions">
                <button id="loginButton" class="btn btn-primary" type="submit">Login</button>
            </div>
        </fieldset>
    </form>
</div>
</body>

サンプルプロジェクトのようにすべてを実行しましたが、まだログインしたくありません。

Ars:

多分それは誰かを助けるので私は私の質問の答えを出します。プログラムを起動したときにログインできなかったため、暗号化されていないパスワードで新しいユーザーを追加しました。しかし、Spring Securityはとにかくそれを復号化するので、ログインできず、403応答が返されました。データベースに追加する前にパスワードを暗号化するだけです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Springブート認証は、@ RolesAllowed、@ Secured、または@PreAuthorizeを使用した認証リクエストに対して403を返します

分類Dev

Spring mongodbリポジトリは、タイプlistのフィールドに対するクエリに対して0エントリを返します

分類Dev

SpringはすべてのPOSTリクエストに対して一意の@Componentを作成します

分類Dev

Spring BootはCompletionStageを返すリクエストに対してフィルターを2回実行します

分類Dev

Spring SecurityでのAJAXリクエストは403 Forbiddenを与えます

分類Dev

Spring Securityは、HttpSecurityを使用してURLとメソッドのリクエストを承認します

分類Dev

Originがwebapp自身のホスト名以外として定義されている場合、Spring boot 2.2.4.RELEASEがGETリクエストに対して403を返す

分類Dev

Spring Boot GETリクエストは200 OKステータスを返しますが、Postmanはレスポンス本文として「ø」を返します

分類Dev

Spring Bootは、Dockerを使用した静的リソースに対して404を返します

分類Dev

Spring Keycloak Adapterは、すべてのリクエストに対してOpen-ID構成をロードします

分類Dev

405-リクエストメソッド 'POST'はSpring MVC + Spring Securityをサポートしていません

分類Dev

Spring Bootを使用するPost APIはネストされたjsonに対してnull値を返します

分類Dev

Spring Security Java設定を使用してHTTPリクエストをHTTPSにリダイレクトする方法

分類Dev

Spring RestTemplateを使用してCloudantAPIに対してテストリクエストを行うにはどうすればよいですか?

分類Dev

Spring RESTプロジェクトに対して正しいPOSTリクエストを作成する方法

分類Dev

Spring Security-すべてのリクエストを許可しますが、許可されていません

分類Dev

Spring SecuritySAMLを使用してSAMLリクエストにリクエストパラメータを追加します

分類Dev

リクエストメソッド 'POST'はSpring Securityをサポートしていません

分類Dev

このSpring Bootアプリが投稿リクエストに対して例外をスローする理由

分類Dev

Spring WebFlux-Mono内のリストの各要素に対してWebClientでHTTPリクエストを送信します

分類Dev

Tomcat7セッションが予期せず終了しますSpringSecurityは次のメッセージを表示します:HttpSessionがSPRING_SECURITY_CONTEXTに対してnullオブジェクトを返しました

分類Dev

Spring Securityは、ネイティブのPostmanアプリからのリクエストを承認します

分類Dev

Spring Hibernateテンプレートのexecuteメソッドは、Oracleのカウントクエリに対してどのオブジェクトタイプを返しますか?

分類Dev

オブジェクトのリストはどのようにしてMongoリポジトリを備えたSpring Pageを返しますか?

分類Dev

Spring4.1.7はリクエスト本文を検証します

分類Dev

Spring Boot 2 Interceptorはリクエストごとに「/ login」を解決します

分類Dev

Spring Cloud Function /リクエストをFunctionに伝播します

分類Dev

Spring Cloud Function /リクエストをFunctionに伝播します

分類Dev

許可されていないリクエストに対して、CSSリソースがSpring Securityによってブロックされる

Related 関連記事

  1. 1

    Springブート認証は、@ RolesAllowed、@ Secured、または@PreAuthorizeを使用した認証リクエストに対して403を返します

  2. 2

    Spring mongodbリポジトリは、タイプlistのフィールドに対するクエリに対して0エントリを返します

  3. 3

    SpringはすべてのPOSTリクエストに対して一意の@Componentを作成します

  4. 4

    Spring BootはCompletionStageを返すリクエストに対してフィルターを2回実行します

  5. 5

    Spring SecurityでのAJAXリクエストは403 Forbiddenを与えます

  6. 6

    Spring Securityは、HttpSecurityを使用してURLとメソッドのリクエストを承認します

  7. 7

    Originがwebapp自身のホスト名以外として定義されている場合、Spring boot 2.2.4.RELEASEがGETリクエストに対して403を返す

  8. 8

    Spring Boot GETリクエストは200 OKステータスを返しますが、Postmanはレスポンス本文として「ø」を返します

  9. 9

    Spring Bootは、Dockerを使用した静的リソースに対して404を返します

  10. 10

    Spring Keycloak Adapterは、すべてのリクエストに対してOpen-ID構成をロードします

  11. 11

    405-リクエストメソッド 'POST'はSpring MVC + Spring Securityをサポートしていません

  12. 12

    Spring Bootを使用するPost APIはネストされたjsonに対してnull値を返します

  13. 13

    Spring Security Java設定を使用してHTTPリクエストをHTTPSにリダイレクトする方法

  14. 14

    Spring RestTemplateを使用してCloudantAPIに対してテストリクエストを行うにはどうすればよいですか?

  15. 15

    Spring RESTプロジェクトに対して正しいPOSTリクエストを作成する方法

  16. 16

    Spring Security-すべてのリクエストを許可しますが、許可されていません

  17. 17

    Spring SecuritySAMLを使用してSAMLリクエストにリクエストパラメータを追加します

  18. 18

    リクエストメソッド 'POST'はSpring Securityをサポートしていません

  19. 19

    このSpring Bootアプリが投稿リクエストに対して例外をスローする理由

  20. 20

    Spring WebFlux-Mono内のリストの各要素に対してWebClientでHTTPリクエストを送信します

  21. 21

    Tomcat7セッションが予期せず終了しますSpringSecurityは次のメッセージを表示します:HttpSessionがSPRING_SECURITY_CONTEXTに対してnullオブジェクトを返しました

  22. 22

    Spring Securityは、ネイティブのPostmanアプリからのリクエストを承認します

  23. 23

    Spring Hibernateテンプレートのexecuteメソッドは、Oracleのカウントクエリに対してどのオブジェクトタイプを返しますか?

  24. 24

    オブジェクトのリストはどのようにしてMongoリポジトリを備えたSpring Pageを返しますか?

  25. 25

    Spring4.1.7はリクエスト本文を検証します

  26. 26

    Spring Boot 2 Interceptorはリクエストごとに「/ login」を解決します

  27. 27

    Spring Cloud Function /リクエストをFunctionに伝播します

  28. 28

    Spring Cloud Function /リクエストをFunctionに伝播します

  29. 29

    許可されていないリクエストに対して、CSSリソースがSpring Securityによってブロックされる

ホットタグ

アーカイブ