Sus*_*ath 4 spring login spring-security
我一直在尝试使用Spring安全性来学习不同的东西.我设置了具有"用户"表和"权限"表的基本结构的授权.所以我的身份验证提供程序如下所示.
<authentication-provider>
<password-encoder hash='md5'>
<salt-source user-property="username"/>
</password-encoder>
<jdbc-user-service data-source-ref="dataSource"/>
</authentication-provider>
Run Code Online (Sandbox Code Playgroud)
这样我就不会指定查询来获取用户详细信息,因为我使用的是默认数据库模式.因此,尽管我没有使用"权限由用户名 - 查询"属性,Spring正在使用默认查询("选择用户名,权限来自权限用户=?"和"选择用户名,密码,从用户名=? ")所以事情进展顺利.
现在我想尝试权限组.所以我根据架构创建表.我的问题如何激活群组权限?JdbcDaoImpl的API文档说使用"enableGroups"属性来启用"基于组的权限".但"基于团体的当局"没有这样的财产.由于Spring有默认查询,我认为不需要明确给出它.
因此,有人可以帮我在这里使用默认查询启用基于组的权限.
不幸的是,jdbc-user-service不提供对enableGroups属性的访问.因此,您必须使用spring的bean命名空间手动配置此bean.我想你可以尝试这样的事情:
<authentication-provider user-service-ref="jdbcDaoImpl">
<password-encoder hash='md5'>
<salt-source user-property="username"/>
</password-encoder>
</authentication-provider>
<beans:bean id="jdbcDaoImpl" class="org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl">
<property name="enableGroups" value="true" />
<property name="enableAuthorities" value="false" />
<property name="dataSource" ref="dataSource" />
</beans:bean>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1840 次 |
| 最近记录: |