权限系统标签接口的设计,在大多数应用中,以下接口中两个方法基本能满足大多数需求。
public interface AuthorizationUtil {
/**
* 根据名称判断用户角色,从而判断用户是否刻有该权限.roleName可以是单独的名称,大小写可以任意.可以包含空格等.
* 若要使用多个角色,可以使用+、|、~、,等符号来表示组合关系
* 使用方法:#if($ROLE.is("ADMIN")) 删除#end
* 或:#if($ROLE.is("AMDIN,Manager")) 删除所有#end
* @param roleName
* @return
*/
public boolean is(String roleName);
/**
* 判断一个用户是否对指定的对象有指定的操作权限
* @param operation 操作,"del","create","update","read"等
* 使用方法:#if($ROLE.is("del",$obj)) 删除该记录#end
* @param obj 操作的对象
* @return 如果具有操作权限
*/
public boolean is(String operation,Object obj);
}
在昨晚修改EasyJWeb的时候,在框架处理器中增加了一个全局Util的Map。同时增加了一个跟EasyJF的权限控制系统结合的AuthorizationUtil实现。下面是主要代码:
protected void createUtilContext(Context context) {
Object authorizationUtil = FrameworkEngine.getContainer()
.getBean(com.easyjf.util.AuthorizationUtil.class);
if (authorizationUtil != null) {
globalUtils.put("AUTH", authorizationUtil);
globalUtils.put("ROLE", authorizationUtil);
}
}
#if($AUTH.is("ADMIN")) 删除#end
Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1651586
1335



被折叠的 条评论
为什么被折叠?



