アプリケーションのSpringコントローラーにSpringSecurity式を実装しました。
@Controller
@RequestMapping("init")
public class InitController {
@PreAuthorize("hasRole('ROLE_ADMIN')")
@RequestMapping(value = "/", method = RequestMethod.GET)
public @ResponseBody String home(){
return "This is the init page";
}
}
このセキュリティ構成では、次のようになります。
<http auto-config="true" create-session="stateless" use-expressions="true">
<intercept-url pattern="/_ah*" access="permitAll" />
<intercept-url pattern="/init/*" access="hasRole('ROLE_ADMIN')"/>
<intercept-url pattern="/init*" access="hasRole('ROLE_ADMIN')"/>
</http>
このリソースにアクセスすると、デフォルトのSpringログインフォームが表示されます(http://localhost:8888/spring_security_login
)。ただし、これを発生させたくないので、「x-authorization-key」などのクレデンシャルをリクエストヘッダーに挿入するだけです。それはシナリオに適合します。
これに対する可能な解決策は何ですか?
- x-authorization-keyをリクエストに含めるだけでよいですか?
- もしそうなら、それはどのようにSpringセキュリティメカニズムに適合しますか、それはそれが「hasRole」式にどのように適合するかです
- 私のWebサービスがステートレスであり、各リクエストが認証されることが重要です
- 最後に、Springログインフォームを処理せずにSpringセキュリティを処理する方法
ヘッダ