shiro标签扩展

shiro标签扩展

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

hasAllpermissions

<%@ tag import="org.apache.shiro.util.StringUtils" %>

<%@ tag import="org.apache.shiro.SecurityUtils" %>

<%@ tag pageEncoding="UTF-8" trimDirectiveWhitespaces="true"%>

<%@ attribute name="name" type="java.lang.String" required="true" description="权限字符串列表" %>

<%@ attribute name="delimiter" type="java.lang.String" required="false" description="权限字符串列表分隔符" %><%

if(!StringUtils.hasText(delimiter)) {

delimiter = ",";//默认逗号分隔

}

if(!StringUtils.hasText(name)) {

%>

<jsp:doBody/>

<%

return;

}

String[] roles = name.split(delimiter);

if(!SecurityUtils.getSubject().isPermittedAll(roles)) {

return;

} else {

%>

<jsp:doBody/>

<%

}

%>

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

hasAllRoles

<%@ tag import="org.apache.shiro.util.StringUtils" %>

<%@ tag import="org.apache.shiro.SecurityUtils" %>

<%@ tag import="java.util.Arrays" %>

<%@ tag pageEncoding="UTF-8" trimDirectiveWhitespaces="true"%>

<%@ attribute name="name" type="java.lang.String" required="true" description="角色列表" %>

<%@ attribute name="delimiter" type="java.lang.String" required="false" description="角色列表分隔符" %><%

if(!StringUtils.hasText(delimiter)) {

delimiter = ",";//默认逗号分隔

}

if(!StringUtils.hasText(name)) {

%>

<jsp:doBody/>

<%

return;

}

String[] roles = name.split(delimiter);

if(!SecurityUtils.getSubject().hasAllRoles(Arrays.asList(roles))) {

return;

} else {

%>

<jsp:doBody/>

<%

}

%>

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

hasAnyPermissions

<%@ tag import="org.apache.shiro.util.StringUtils" %>

<%@ tag import="org.apache.shiro.SecurityUtils" %>

<%@ tag import="org.apache.shiro.subject.Subject" %>

<%@ tag pageEncoding="UTF-8" trimDirectiveWhitespaces="true"%>

<%@ attribute name="name" type="java.lang.String" required="true" description="权限字符串列表" %>

<%@ attribute name="delimiter" type="java.lang.String" required="false" description="权限字符串列表分隔符" %>

<%

if(!StringUtils.hasText(delimiter)) {

delimiter = ",";//默认逗号分隔

}

if(!StringUtils.hasText(name)) {

%>

<jsp:doBody/>

<%

return;

}

String[] permissions = name.split(delimiter);

Subject subject = SecurityUtils.getSubject();

for(String permission : permissions) {

if(subject.isPermitted(permission)) {

%>

<jsp:doBody/>

<%

break;

}

}

%>

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

使用

<customTag:hasAnyPermissions

name="loanHouse:viewLoanPreData,LoanAppointment:viewLoanPre">

</customTag:hasAnyPermissions>

猜你喜欢

转载自blog.csdn.net/a11121112111a/article/details/83583522
今日推荐