gpt4 book ai didi

grails - 确保用户就是他们所说的真实身份的Grails做法( Spring 安全性)

转载 作者:行者123 更新时间:2023-12-02 14:57:59 24 4
gpt4 key购买 nike

我正在使用spring安全插件,因此能够使用springSecurityService.currentUser方法访问当前登录的用户。但是,我认为在每个 Controller 操作中获取当前用户,然后基于返回的用户执行操作不是推荐的最佳实践。

例子:

  • 登录的用户单击链接到其个人资料页面- Controller 获取当前用户并返回数据以填充该用户的个人资料页面。
  • 在配置文件页面上登录了用户更改状态- Controller 获取当前用户,从中找到他们的配置文件,然后更新此配置文件上的状态。

  • 等等

    这应该确保访问页面的用户就是他们所说的用户-因为不会传递来自客户端的用户ID或其他标识信息。但是,在每个 Action 中获取用户似乎是错误的,而且我还没有看到许多执行此操作的代码示例。我应该使用过滤器来拦截请求或其他流程/实践吗?

    最佳答案

    存在springSecurityService.currentUser就是为了这个确切目的。每次需要检索当前用户的原因是因为 Controller 操作是无状态的。是的,正在维护一个状态的 session 正在运行,但是我的意思是,状态没有从一个 Controller Action 直接转移到另一个 Controller Action 。因此,实际上,最佳实践是每次都获得当前用户。

    客户端将向Grails提供一个通常称为JSESSIONID的cookie。然后,Grails使用它来还原任何 session 数据,这实际上导致springSecurityService.currentUser能够提供当前用户。因此,尽管客户端未通过用户ID,但客户端通过了 session ID,而 session ID间接是标识信息。

    关于grails - 确保用户就是他们所说的真实身份的Grails做法( Spring 安全性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35808742/

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