Java 检查JSP中是否设置了特定值
我有一个多用户门户,我在其中为两个用户(管理员和教师)在Java 检查JSP中是否设置了特定值,java,jsp,spring-security,Java,Jsp,Spring Security,我有一个多用户门户,我在其中为两个用户(管理员和教师)在securedHolder中存储一个值。但不存储超级管理员的值 我必须根据用户角色(管理员、教师和超级管理员)显示导航菜单 所以我想检查JSP页面中是否设置了该值。如何在JSP中实现它 我已检查用户角色,但无法检查特定值 <sec:authorize access="hasRole('ROLE_TEACHER')"> -- Do something for teacher -- want to
securedHolder
中存储一个值。但不存储超级管理员的值
我必须根据用户角色(管理员、教师和超级管理员)显示导航菜单
所以我想检查JSP页面中是否设置了该值。如何在JSP中实现它
我已检查用户角色,但无法检查特定值
<sec:authorize access="hasRole('ROLE_TEACHER')">
-- Do something for teacher
-- want to check the value here
</sec:authorize>
--为老师做点什么
--要检查这里的值吗
为什么不在用户登录时将用户会话中的角色属性保存为“教师”、“管理员”或“超级管理员”
然后可以使用jstl标记执行类似的操作:
<c:choose>
<c:when test="${sessionScope.user.role == 'teacher'}">
your nav bar for teachers
</c:when>
<c:when test="${sessionScope.user.role == 'admin'}">
your nav bar for admins
</c:when>
<c:when test="${sessionScope.user.role == 'superadmin'}">
your nav bar for superadmins
</c:when>
<c:otherwise>
your nav bar for somebody else
</c:otherwise>
</c:choose>
教师导航栏
管理员导航栏
超级管理员的导航栏
你的导航栏是给别人的
使用jstl
这样做:
<c:if test="${not empty var}">
<div>do whatever you need</div>
</c:if>
你需要什么就做什么
混合所有,我将这样做:
<sec:authorize access="hasAnyRole('ROLE_TEACHER','ROLE_ADMIN')">
<c:if test="${not empty var}">
<div>do whatever you need</div>
</c:if>
</sec:authorize>
你需要什么就做什么
通过使用
然后,您可以在控制器中添加任何您想要区分超级管理员的属性,作为模型属性。并使用
标记检查。角色已在身份验证
对象内的会话中,由spring security
管理。没有必要对响应执行thisthanx,但是我已经使用thanx对响应执行了操作,但是我已经使用