1

我们正在为网站设计一项功能,该功能应允许一些工作人员以其他注册用户的身份查看我们的网站。我真的很想听听那些已经考虑过这种功能或实现了类似功能的人。

这应该是一个社区维基。如果可能,我会将其标记为一个。

4

2 回答 2

1

我见过两种方法:

  1. url 参数'changeToUser=login'。过滤器验证您是否有足够的权限来更改您的身份,然后在春天切换,比如说,您的委托人。如果需要,您可以在会话中添加标志,表明您的真实身份,并且您有权一次又一次地切换。没有标志,您将无法在不注销的情况下再次切换。这种方法在测试流应用程序时非常有用(第一个用户做某事,然后第二个用户响应等)。在 dev/uat 服务器上,您的应用程序可能会呈现正确的链接,让您一键切换到您需要的用户

  2. 您在登录期间更改了您的 ID。您使用了伪造的登录名,例如 my-login#login-of-user-i--pretend 和您的真实密码。您只需在 ldap 身份验证器(或您使用的任何东西)之前添加另一个身份验证器

第二个适用于没有流/jbpm 进程的小型应用程序,并且当您宁愿使用此功能做某事时,因为真正的用户生病/不在办公室并且目前无法登录。但是当您想测试需要大量开关的流应用程序时,第一个解决方案会更好,尤其是渲染链接

于 2012-05-31T21:33:37.787 回答
1

我过去做过这两种方法。

最简单的方法是只允许具有足够权限的人以任意用户身份登录而无需密码。这只是一个会话中的登录,完全用你假装成为的人代替你曾经的身份。通过注销并再次登录,您可以回到自己。

另一种是在会话中保留一个标志,说“我真的是用户 ABC”,并在适当的管理页面上检查该标志(该机制无关紧要,但通常可以巧妙地完成并且在大多数框架中基本上是不可见的)但切换会话用户到用户 XYZ。将使用与第一个相同的“跳过密码”机制。

后者更复杂,但消除了注销/登录的需要,并允许使用一些不错的技巧,例如在 iframe 中运行站点并保持管理菜单可见以“退出”特殊模式等。

于 2012-05-31T15:40:29.250 回答