在角色表中,当我检查
时,我将角色名称存储为“Admin”<sec:authorize access="hasRole('ADMIN')">
<c:out value='${message}'/>
</sec:authorize>
即使我以管理员用户身份登录,也不会打印邮件。
此表达式区分大小写?
答案 0 :(得分:1)
如果您需要Spring jsp页面授权,请按照以下步骤进行操作
步骤1:需要在Web安全文件中激活Web授权
使用表达式=&#34;真&#34;安全xml文件中的http标记
ex:<http .... use-expressions="true">
然后为下载弹簧配置pom.xml
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>3.2.5.RELEASE</version>
</dependency>
第二步。然后在你需要的jsp页面中添加标签lib
例如:
<%@ taglib prefix="security" uri="http://www.springframework.org/security/tags" %>
步骤3:然后检查jsp页面中的hasRole
例如:
<security:authorize access="hasRole('ROLE_USER')">
This text is only visible to a user
<br/>
</security:authorize>
<security:authorize access="hasRole('ROLE_ADMIN')">
This text is only visible to an admin
<br/>
</security:authorize>
在那个地方,userRole是区分大小写
您还可以根据角色提供完整页面访问权限。请使用以下示例代码
<intercept-url pattern="/user/**" access="hasRole('ROLE_USER')" />
此拦截允许该页面中的角色用户。
根据您的问题,您应该验证网络安全文件必须use-expression="true"
如果正确,请确保角色名称。因为它区分大小写