在开发应用程序时,能够以具有不同角色的不同用户身份快速登录以查看应用程序如何呈现自身是非常有用的。
输入用户名和密码既无趣又浪费时间。我想做的是:
- 添加一个包含可用用户名列表的页面/面板;
- 点击用户名将为 Spring 安全生成一个事件,允许它识别用户已通过身份验证,而无需输入密码;
- 点击链接后,我被认证为指定用户。
注意:密码经过哈希处理并使用表单以纯文本形式提交,因此无法在链接中对密码进行编码。
显然此功能只会在开发时出现。
我怎样才能做到这一点?
最佳答案
使用 InMemoryDaoImpl 作为开发模式。创建存储在内存中的用户和密码非常容易:
<bean id="userDetailsService" class="org.acegisecurity.userdetails.memory.InMemoryDaoImpl">
<property name="userMap">
<value>
admin=admin,ROLE_ADMIN,ROLE_USER
user1=user1,ROLE_USER
user2=user2,ROLE_USER
</value>
</property>
</bean>
在开发模式下将其注入(inject)您的身份验证提供程序。在生产中用适当的数据库或 LDAP 实现替换它。
关于java - 开发模式的Spring Security预认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1067869/