我在我的应用程序 Spring 控制器中实现了 Spring Security Expression:
@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 放在请求中是否很好
- 如果是这样,它如何与 Spring 安全机制相匹配,即它如何与“hasRole”表达式相匹配
- 我的网络服务是无状态的,并且每个请求都经过身份验证,这一点很重要
- 最后,如何在不处理Spring登录表单的情况下处理Spring安全
标题