私はSpringには新しく、残りのコントローラの8/10のURLに対して基本認証を有効にする必要があり、もう1つは基本認証なしでアクセスできる必要があります。 私はアプリケーションでビルドするためにgradleを使用していますので、そのようなXMLファイルはありません。 (私はweb.xmlファイルでいくつかの解決策を見て、私は1つを持っていない) ここでは、私のWebセキュリティの設定です:ここで特定のURLの基本認証を無効にするSpring
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
public void configure(WebSecurity web) throws Exception {
super.configure(web);
web.ignoring().antMatchers("/abcd/**");
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication().withUser("user").password("password");
}
}
は私のコントローラである:
@RestController
@RequestMapping(value = "/abcd")
public class PaymentController implements ElasticSearchConstants {
@RequestMapping(value = "/sample", method = RequestMethod.POST, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public static void authExpemtedController(HttpServletRequest request, HttpServletResponse response) throws Exception {
//do something
}
}
私は、Webを試してみました。無視する()。antMatchers( "/ abcd /");役に立たない。 { "タイムスタンプ":1492274727955、 "ステータス":401、 "エラー": "未承認"、 "メッセージ": "これにアクセスするには完全な認証が必要ですリソース」、 『パス』: 『/ ABCD /サンプル』 }
私は他のAPIをauthernticatedする必要があるとして、任意の認証を必要としないこのようなAPIを公開する必要があります。
事前に助けてくれてありがとう
UPDATE:。。 私はhttp.authoriseRequest()antMatchers( "/ ABCD")について知っているpermitAll() このメソッドは、アクセスのみにすべてのユーザーに許可します。私は、このAPIにユーザー情報をまったく渡したくありません。あなたはSection 5.4 Authorize Requests of the Spring Security docsを参照したい場合があります
私はすでにこのオプションを試していましたが、動作しませんでした。まだ同じ問題が発生しています。 。私は、http \t .authorizeRequests() \t .antMatchers( "**// ABCD")permitAll() \t \t .anyRequestを()与えている(認証済み)。 – Gaurav