package cn.jeesoft.mvc.fn;
import java.util.List;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang.StringUtils;
import cn.jeesoft.mvc.helper.PrivilegeUtils;
import cn.jeesoft.mvc.helper.RequestHolder;
import freemarker.template.TemplateMethodModelEx;
import freemarker.template.TemplateModelException;
public class PrivilegeChecker implements TemplateMethodModelEx {
@Override
public Object exec(List arguments) throws TemplateModelException {
if(arguments == null || arguments.size() == 0){
return true;
}
if(!(arguments.get(0) instanceof String)){
return true;
}
String res = (String)arguments.get(0);
if(StringUtils.isBlank(res)){
return true;
}
HttpSession session = RequestHolder.getSession();
System.out.println(String.format("check privilege ,res : {}, session id :{}", res, session == null ? null : session.getId()));
return PrivilegeUtils.check(session, res);
}
}