gpt4 book ai didi

java - 如何允许第一次未授权请求然后再请求授权?

转载 作者:行者123 更新时间:2023-12-02 02:22:51 26 4
gpt4 key购买 nike

因此,我们正在实现这种特殊的授权,登录后,用户会看到基本的仪表板。当他尝试前往另一个位置时,系统会要求他使用密码进行授权。

问题是,为了呈现基本仪表板,发送了一些请求并需要附带 200 响应,而其余的仅返回错误消息并重定向到授权屏幕。

总而言之,我们将有 3 种端点:
- 阻止,直到用户授权
- 允许第一次返回正确的数据,而每个连续的请求都需要授权
- 无需授权

我找不到克服第二种类型的方法。有没有办法记录每个特定端点发送的请求数?或者有什么方法可以真正允许首先未经授权的使用,然后再要求授权?

最佳答案

一种方法是在用户第一次访问您的 Controller 时对没有任何角色的用户进行身份验证。

然后,当他再次尝试访问时,如果用户在没有角色的情况下登录,您可以将它们发送到登录过程。

要确保此方法的安全,可以使用以下注释:

@Secure("IsAuthenticated()==false || (IsAuthenticated() && hasRole("WRITE"))")

要手动确保安全,用户应使用 SecurityContextHolder

关于java - 如何允许第一次未授权请求然后再请求授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57269182/

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