如何实现模拟功能?

时间:2018-02-08 20:20:11

标签: java spring tomcat impersonation

如果你使用过Gitlab - 它有一个假冒功能,如果你的用户拥有“拥有者”,那就是可以冒充'冒充'通过单击按钮在系统上创建的任何用户,看看他们看到了什么。

我想了解一个人如何实现这样的功能?什么是软件设计/架构。

我计划使用服务器端会话在Java,Spring和Tomcat中设计和实现此功能,并且更愿意推出我自己的模拟功能而不是使用库

1 个答案:

答案 0 :(得分:0)

如果您想要一个GitLab在Ruby中实现的特定解决方案,您可以查看引入该功能的提交:Commit 3bb626f9 - refactor login as to be impersonation with better login/logout

请注意,此提交中引入的安全问题稍后会修复:GitLab Blog Post - Critical Security Release for GitLab 8.2 through 8.7

否则,我认为这个问题太宽泛了。 我需要更多细节 - 框架,当前认证机制等。

编辑: 我不太了解Java Spring框架,但这些链接可能对您有所帮助:

  1. spring security (3.0.x) and user impersonation
  2. How to do impersonation in spring