/* ==================================================================
* Created [2011-11-03 下午11:32:55] by Jon.King
* ==================================================================
* TSS
* ==================================================================
* mailTo:jinpujun@hotmail.com
* Copyright (c) Jon.King, 2009-2012
* ==================================================================
*/
package com.jinhe.tss.um.permission.filter;
import java.util.List;
import com.jinhe.tss.core.exception.BusinessException;
import com.jinhe.tss.um.permission.IResource;
import com.jinhe.tss.um.permission.PermissionHelper;
/**
* 资源修改时的权限检查: 判断用户是否对当前节点有编辑权限
*
* IResource update***( IResource obj )
*/
public class PermissionFilter4Update implements IPermissionFilter {
@Override
public void doFilter(Object args[], Object returnValue, PermissionTag tag, PermissionHelper helper) {
String application = tag.application();
String resourceType = tag.resourceType();
String updateOperation = tag.operation();
IResource resource = (IResource) args[0];
List<Long> permitedResourceIds = helper.getResourceIdsByOperation(application, resourceType, updateOperation);
if( !permitedResourceIds.contains(resource.getId()) ) {
throw new BusinessException("保存失败,您对保存的【名为:" + resource.getName() + " 的节点】下没有修改权限!");
}
}
}