3

我有一个使用 spring3 执行用户身份验证的 spring 3 应用程序。在服务器端,我可以访问从 SecurityContextHolder.getContext() 登录的当前用户。但我想在我的 jquery 页面中访问在客户端登录的当前用户。spring 3 是否提供任何功能?有人可以就此提出一些建议吗?

谢谢

4

1 回答 1

3

据我所知,在 Spring Security 中没有将主体和权限公开给 JavaScript 的神奇方法。

你可以尝试自己做。提供一个控制器,负责加载主体和权限(通过 SecurityContextHolder)并将它们打印为 JSON。从您的页面中调用此控制器并在 JS 中使用结果。

从安全的角度来看,您不能信任此信息(例如,因为用户可以使用 Chrome 检查器修改您的 JS)。您可以做两件事来使其更安全:

  1. 缩小你的 JS 文件。
  2. 确保从 JS 执行的所有操作也将在服务器端进行检查。

祝你好运。

于 2013-04-11T15:00:46.097 回答