gpt4 book ai didi

java - 在 Spring 中调用 Controller 方法之前基于 Cookie 的授权

转载 作者:行者123 更新时间:2023-11-30 03:41:53 25 4
gpt4 key购买 nike

最近我遇到了这个问题。假设我想为 Controller 中的不同方法授予不同的授权。我想使用随请求发送的 cookie 来执行此操作,并且为此我想使用注释。我试图弄清楚如何强制 @PreAuthorize 注释起作用,但我在这里遗漏了一些东西。

有谁知道这是否是可能的情况(伪代码)

@Controller
class myController
{
@SomeAuthorizationAnnotation
@RequestMapping("/")
void doSth()
{
//something is done after authorization
}
}

现在我想编写我的自定义方法,该方法允许我访问发送到此 Controller 的http请求,我可以在其中编写类似的内容

HttpServletRequest ht = ....

Optional<Cookie> cookie = getCookie(ht.getCookies(), AUTH_TOKEN);
if (cookie.isPresent()) {
//grant authorization for the method call
}

我希望这是可以理解的。

P.S 我不想将过滤器或某物绑定(bind)到 url,我想将其绑定(bind)到方法。

最佳答案

为了保护您的方法,您可以使用 @Secured 或 @PreAuthorize 注释,但您也应该声明它 <global-method-security secured-annotations="enabled" />另请参阅method security

关于java - 在 Spring 中调用 Controller 方法之前基于 Cookie 的授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26661468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com