0

我需要启用 Web 应用程序的登录用户来代表另一个用户执行某些功能。

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

以餐厅老板身份登录时,我应该能够获得餐厅经理的登录页面。该应用程序是使用 grails 构建的,如果大家都可以分享您的想法和想法,这将是一个很大的帮助。

4

1 回答 1

1

如果您使用标准 spring-security-core 插件实现身份验证和用户管理,那么它提供了一个“切换用户”功能来处理这种情况。

<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>
于 2013-06-20T12:14:50.050 回答