没有使用数据库的角色库的 Spring Security
Posted
技术标签:
【中文标题】没有使用数据库的角色库的 Spring Security【英文标题】:Spring Security Without Role-Base Using Database 【发布时间】:2013-06-12 10:30:13 【问题描述】:我想实现 Spring Security(身份验证和授权)我用谷歌搜索它和任何 MKYoung Spring Security Example,我只想区分经过身份验证的用户和匿名用户之间的 URL,我不想使用任何基于角色的授权。
任何已注册并登录的用户,我想授权他们访问所有 URL,对于匿名用户,我希望他们访问登录和注册页面。 谢谢
【问题讨论】:
问题是什么?您不必在 Spring 中使用基于角色的访问控制(在 Spring 参考手册中搜索isAuthenticated()
或 IS_AUTHENTICATED_FULLY
)。
感谢您的回复,去试试看。
很好...检查 Jean-Philippe 的答案...我懒得像他那样写一个实际的答案:D.
【参考方案1】:
你有没有试过在spring security xml配置文件中这样做:
<security:http auto-config="true" use-expressions="true">
<security:intercept-url pattern="/login" access="permitAll" />
<security:intercept-url pattern="/registration" access="permitAll" />
<security:intercept-url pattern="/**" access="isAuthenticated()" />
...
</security:http>
【讨论】:
不,我会尝试,这里我有另一个困惑 MKYoung 使用您可以通过使用查询来实现:
authorities-by-username-query="select username, 'default' from users where username=?"
【讨论】:
以上是关于没有使用数据库的角色库的 Spring Security的主要内容,如果未能解决你的问题,请参考以下文章
数据库中没有用户/角色的 Grails spring-security-ldap
Spring Boot 中 JPA 存储库的“没有限定类型的 bean”
Grails Spring Security 查询没有特定角色的用户