最近我遇到了这个问题。假设我想对控制器中的不同方法授予不同的授权。我想要使用与请求一起发送的cookie来做到这一点,并且我希望使用注释。我试图找出如何强制@PreAuthorize注释工作,但我在这里错过了一些东西。在春季调用控制器方法之前基于Cookie的授权
有谁知道,如果有可能的场景(伪代码)
@Controller
class myController
{
@SomeAuthorizationAnnotation
@RequestMapping("/")
void doSth()
{
//something is done after authorization
}
}
,现在我想写将授予我访问HTTP请求发送到该控制器我自定义的方法,在那里我可以让我们说写一些像
HttpServletRequest ht = ....
Optional<Cookie> cookie = getCookie(ht.getCookies(), AUTH_TOKEN);
if (cookie.isPresent()) {
//grant authorization for the method call
}
我希望这是有点可以理解的。
P.S我不想绑定过滤器或网址的东西,我想绑定到方法。
请告诉我。在你的情况下,如果我通过web服务器发送请求,我会得到异常。为什么? – makson 2017-03-16 18:52:23