Grails Spring安全交换机用户设置问题
我试图配置Spring安全插件的SwitchUser功能,但没有成功。在大多数情况下,它看起来很简单,但在完成所有代码并单击“切换”按钮后,它只是将我重定向到默认的主url,而不进行切换 是否有人拥有比官方Spring Security核心插件网站上已有的更多的信息?我一直目不转睛地看着和它有关的所有东西,没有找到任何原始信息——大多数东西都是Beckwith和Talbott原始文档的副本 以下是我的应用程序的代码: Config.groovyGrails Spring安全交换机用户设置问题,grails,spring-security,switch-user,Grails,Spring Security,Switch User,我试图配置Spring安全插件的SwitchUser功能,但没有成功。在大多数情况下,它看起来很简单,但在完成所有代码并单击“切换”按钮后,它只是将我重定向到默认的主url,而不进行切换 是否有人拥有比官方Spring Security核心插件网站上已有的更多的信息?我一直目不转睛地看着和它有关的所有东西,没有找到任何原始信息——大多数东西都是Beckwith和Talbott原始文档的副本 以下是我的应用程序的代码: Config.groovy grails.plugins.springsecu
grails.plugins.springsecurity.useSwitchUserFilter = true
grails.plugins.springsecurity.interceptUrlMap = [
'/j_spring_security_switch_user': ['ROLE_SWITCH_USER', 'isFullyAuthenticated()'],
'/j_spring_security_exit_user': ['permitAll'],
]
我不确定是否应该使用interceptUrlMap或ControllerNotations(?),或者什么标准将决定使用哪一种
普惠制代码:
<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>
登录为
切换到用户:
我不知道有任何其他代码或设置涉及。如果您需要更多信息,请告诉我。事实证明,SwitchUser的所有代码都正确实现了。尽管SwitchUser的行为仍然不一致,但问题不在于问题中包含的代码。我们在Grails中实现角色时遇到了问题
我希望我有一个更好的答案。我仍然想知道更多关于SwitchUser的信息——比我在谷歌上发现的更多。过滤器似乎只接受在角色为role\u SWITCH\u USER的用户之间切换您是否在j\u spring\u security\u SWITCH\u用户操作中发送用户名?