【问题标题】:Spring security 4: Access denied for admin roleSpring security 4:管理员角色的访问被拒绝
【发布时间】:2016-05-20 18:40:18
【问题描述】:

我正在学习 Spring Security。我的用户admin123 拥有权限admin。我有一个admin.jsp,只有具有管理员权限的用户才能访问它。

安全配置xml有

<security:intercept-url pattern="/admin" access="hasRole('admin')" /> 这似乎不起作用。即使使用用户admin123 登录后,也无法访问管理页面。

无法找出问题所在。请帮忙。

【问题讨论】:

  • 发布您的查询也是为了获取管理数据
  • 确保将admin.jsp 放入存储库/admin 中。否则请发布使用过的查询
  • 我正在使用默认表用户和权限。 users-by-username-query:select username, password, enabled from dbo.users where username=? authority-by-username-query:select username, authority from dbo.authorities where username=?

标签: java spring security spring-mvc spring-security


【解决方案1】:

此问题已解决。忘记在这里更新了。

在这些场景中需要使用 hasAuthority('admin') 而不是 hasRole('admin')。 hasRole() 只能在以特定格式提及角色时使用。即,'ROLE_ADMIN'

所以 hasRole('ROLE_ADMIN') 和 hasAuthority('admin') 一样有效。

【讨论】:

    猜你喜欢
    • 2013-04-29
    • 1970-01-01
    • 2018-11-14
    • 2018-12-27
    • 2015-06-23
    • 2015-11-13
    • 2018-10-03
    • 2012-02-29
    • 2020-12-19
    相关资源
    最近更新 更多