Web应用程序代表另一个用户登录

时间:2013-06-20 12:07:39

标签: grails single-sign-on

我需要启用Web应用程序的登录用户才能代表其他用户执行某些功能。

例如,假设我以餐馆老板的身份登录,我想做一些餐厅经理的工作。

我应该能够在登录餐馆老板的同时获得餐厅经理的登陆页面。该应用程序是使用grails构建的,如果你们都可以分享你的想法和想法,这将是一个很好的帮助。

1 个答案:

答案 0 :(得分:1)

如果使用标准的spring-security-core插件实现身份验证和用户管理,则会提供"switch user" function来处理这种情况。

<sec:ifLoggedIn>
Logged in as <sec:username/>
</sec:ifLoggedIn>

<sec:ifSwitched>
<a href='${request.contextPath}/j_spring_security_exit_user'>
   Resume as <sec:switchedUserOriginalUsername/>
</a>
</sec:ifSwitched>

<sec:ifNotSwitched>
   <sec:ifAllGranted roles='ROLE_SWITCH_USER'>

   <form action='${request.contextPath}/j_spring_security_switch_user' method='POST'>
      Switch to user: <input type='text' name='j_username'/><br/>
      <input type='submit' value='Switch'/>
   </form>

   </sec:ifAllGranted>
</sec:ifNotSwitched>