我已经实现Spring Security的表达我的应用程序春控制器:
@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>
当这种资源被访问时显示的默认春天登录表单( http://localhost:8888/spring_security_login
),但是我不希望这样的事情发生,而我只是想在请求头就像要插入的凭据“X-授权密钥”或任何适合的方案。
什么是这种情况的可能的解决方案?
- 它是一个很好的,只是让X-授权密钥是在请求
- 如果是这样,它是如何适应与Spring的安全机制,即如何,它正好与“hasRole”表达
- 这是重要的我的Web服务是无状态的,并且每个请求通过认证
- 最后,如何做处理春季安全,而无需处理与Spring登录表单
头