MySQLとJPAによるSpringカスタムセキュリティで403アクセスが拒否されました

afulz29

UserDetailsS​​erviceを使用して認証を提供することにより、postmanで残りのAPIにアクセスしようとしていますが、リクエストを実行するたびに、403 AccessDeniedをリクエストします。動作はPOSTメソッドとGETメソッドで同じです。フォーラムに記録されている他の問題を読みましたが、すべての回答にCSRFが原因であると記載されており、無効にしましたが、問題は同じままです。

完全なコードは次のとおりです:https//github.com/afulz29/spring-security-demo.git

私を助けてください、私は3日以来この問題に苦しんでいます。

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class ApplicationSecurityConfig extends WebSecurityConfigurerAdapter implements WebMvcConfigurer{

@Autowired
UserDetailsService userDetailsService;

@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    auth
        .userDetailsService(userDetailsService)
        .passwordEncoder(passwordEncoder());
}

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.csrf().disable();
    http
        .authorizeRequests()
            .antMatchers("/api/**").authenticated().anyRequest().hasAnyRole("ADMIN");
}

@Bean
public BCryptPasswordEncoder passwordEncoder() {
    return new BCryptPasswordEncoder();
}

@Override
public void addCorsMappings(CorsRegistry registry) {
    registry.addMapping("/**").allowedMethods("*");
}
}



@RestController
@RequestMapping("/api")
public class UserController {

@Autowired
private UserService userService;

@GetMapping(path = "/users")
public User getUserById(@RequestParam("userId") Integer userId) {
    return userService.getUserById(userId);
}

@PostMapping(path = "/users", consumes = MediaType.APPLICATION_JSON_VALUE)
public User addUser(@RequestBody User user) {
    return userService.addUser(user);
}
}

Postmanリクエスト

gtiwari333

セキュリティ設定にいくつか問題があります。

  1. BASIC AUTHが有効になっていませんが、Postmanで基本認証を実行しようとしています

基本認証を有効にするには、次の手順を実行します

        http
            .authorizeRequests()
                ...
                .and()
                .httpBasic();
  1. POST / api / usersはユーザー登録エンドポイントだと思います。誰でも登録できるように、このエンドポイントをホワイトリストに登録する必要があります
        http
            .authorizeRequests()
                    .antMatchers( HttpMethod.POST,"/api/users").permitAll()
                    .antMatchers("/api/**").authenticated()
                    .anyRequest().hasAnyRole("ADMIN")
                .and()
                    .httpBasic();

テスト:

ユーザーを作成

POST: localhost:8080/api/users

{
        "userName" : "user1",
        "password": "pass"
}

ユーザー情報を取得する


GET: localhost:8080/api/users?userId=1   //use the correct ID

With Basic Auth: userName = user1, password = pass

ボーナスフィードバック:

  1. User.userName->このフィールドを一意にすることができます
  2. @Repository この注釈は、リポジトリインターフェイスでは必要ありません
  3. UserServiceインターフェース。インターフェイスとimplを使用する理由はわかりません。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

春のセキュリティ - 403アクセス拒否されたカスタム応答を作成します

分類Dev

セキュリティルールにより、常に「アクセスが拒否されました」

分類Dev

Springセキュリティログ、または承認されていない(アクセスが拒否された)リクエストごとにカスタムメッセージを追加

分類Dev

春のセキュリティアクセスが拒否されました

分類Dev

カスタム認証による春のセキュリティでの「アクセス拒否」の理解

分類Dev

Springセキュリティ4:管理者ロールのアクセスが拒否されました

分類Dev

Spring OAuth2でセキュリティを構成する:認証要求のアクセスが拒否されました

分類Dev

Git:テキストエディターを開くときにアクセスが拒否されました

分類Dev

DenyAllPermissionEvaluator - アクセスは常に春のセキュリティに拒否されました

分類Dev

Firebase RealtimeDatabaseセキュリティルールシミュレータでアクセスが拒否されました

分類Dev

フォルダのセキュリティ、アクセスできません..アクセスが拒否されましたね。

分類Dev

Tomcatで403アクセスが拒否されました

分類Dev

MicrosoftGraphでチームにクエリを実行するとアクセスが拒否されました

分類Dev

Ansibleでディレクトリを削除するときにアクセスが拒否されました

分類Dev

私が作成したディレクトリにアクセスしようとした後、Linux / Debianでアクセスが拒否されました

分類Dev

春のセキュリティでajaxリクエストが拒否されました、Grails

分類Dev

プログラムで作成された<iframe>のドキュメントオブジェクトにアクセスしようとすると、「アクセスが拒否されました」というJavaScriptエラー(IEのみ)

分類Dev

MySQL データベースにアクセスしようとする PythonAnywhere エラー (アクセスが拒否されました)

分類Dev

WIF 4.5でADFSをテストしようとすると、常にアクセスが拒否されます

分類Dev

403 Forbiddenを取得し、セキュリティで保護されたWebサービスにアクセスしようとしています

分類Dev

SecurityError:SeleniumPythonを使用してiframeのダウンロードリンクをクリックするとクロスオリジンオブジェクトエラーでプロパティ「ドキュメント」にアクセスするためのアクセス許可が拒否されました

分類Dev

samba-別のユーザーのホームディレクトリで共有するときにアクセス許可が拒否されました

分類Dev

samba-別のユーザーのホームディレクトリで共有するときにアクセス許可が拒否されました

分類Dev

SpringおよびSpringセキュリティを使用したアクセス拒否および許可機能

分類Dev

SQLException:dockerでmysqlに接続するときにアクセスが拒否されました

分類Dev

docker-composeの問題:ボリュームを作成/マウントしようとしたときにアクセスが拒否されました

分類Dev

Firebaseストレージセキュリティルール400エラーの問題「アクセスが拒否されました。バケットxxxxx-****。appspot.comにアクセスできませんでした」

分類Dev

Mac OS High Sierra:MySql WorkBenchv8.0.13コミュニティでのテスト接続中にアクセスが拒否されました

分類Dev

マウントされたDockerボリュームでアクセスが拒否されました

Related 関連記事

  1. 1

    春のセキュリティ - 403アクセス拒否されたカスタム応答を作成します

  2. 2

    セキュリティルールにより、常に「アクセスが拒否されました」

  3. 3

    Springセキュリティログ、または承認されていない(アクセスが拒否された)リクエストごとにカスタムメッセージを追加

  4. 4

    春のセキュリティアクセスが拒否されました

  5. 5

    カスタム認証による春のセキュリティでの「アクセス拒否」の理解

  6. 6

    Springセキュリティ4:管理者ロールのアクセスが拒否されました

  7. 7

    Spring OAuth2でセキュリティを構成する:認証要求のアクセスが拒否されました

  8. 8

    Git:テキストエディターを開くときにアクセスが拒否されました

  9. 9

    DenyAllPermissionEvaluator - アクセスは常に春のセキュリティに拒否されました

  10. 10

    Firebase RealtimeDatabaseセキュリティルールシミュレータでアクセスが拒否されました

  11. 11

    フォルダのセキュリティ、アクセスできません..アクセスが拒否されましたね。

  12. 12

    Tomcatで403アクセスが拒否されました

  13. 13

    MicrosoftGraphでチームにクエリを実行するとアクセスが拒否されました

  14. 14

    Ansibleでディレクトリを削除するときにアクセスが拒否されました

  15. 15

    私が作成したディレクトリにアクセスしようとした後、Linux / Debianでアクセスが拒否されました

  16. 16

    春のセキュリティでajaxリクエストが拒否されました、Grails

  17. 17

    プログラムで作成された<iframe>のドキュメントオブジェクトにアクセスしようとすると、「アクセスが拒否されました」というJavaScriptエラー(IEのみ)

  18. 18

    MySQL データベースにアクセスしようとする PythonAnywhere エラー (アクセスが拒否されました)

  19. 19

    WIF 4.5でADFSをテストしようとすると、常にアクセスが拒否されます

  20. 20

    403 Forbiddenを取得し、セキュリティで保護されたWebサービスにアクセスしようとしています

  21. 21

    SecurityError:SeleniumPythonを使用してiframeのダウンロードリンクをクリックするとクロスオリジンオブジェクトエラーでプロパティ「ドキュメント」にアクセスするためのアクセス許可が拒否されました

  22. 22

    samba-別のユーザーのホームディレクトリで共有するときにアクセス許可が拒否されました

  23. 23

    samba-別のユーザーのホームディレクトリで共有するときにアクセス許可が拒否されました

  24. 24

    SpringおよびSpringセキュリティを使用したアクセス拒否および許可機能

  25. 25

    SQLException:dockerでmysqlに接続するときにアクセスが拒否されました

  26. 26

    docker-composeの問題:ボリュームを作成/マウントしようとしたときにアクセスが拒否されました

  27. 27

    Firebaseストレージセキュリティルール400エラーの問題「アクセスが拒否されました。バケットxxxxx-****。appspot.comにアクセスできませんでした」

  28. 28

    Mac OS High Sierra:MySql WorkBenchv8.0.13コミュニティでのテスト接続中にアクセスが拒否されました

  29. 29

    マウントされたDockerボリュームでアクセスが拒否されました

ホットタグ

アーカイブ