serviceauthorizer.java
来自「一个很好的开源项目管理系统源代码」· Java 代码 · 共 47 行
JAVA
47 行
package net.java.workeffort.service.security;import net.java.workeffort.infrastructure.security.AuthorizationException;import net.java.workeffort.infrastructure.security.ISecurityProfile;import org.aopalliance.intercept.MethodInvocation;import org.apache.commons.lang.StringUtils;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * Generic Service authorizer. * <p> * Uses <code>SecurityProfile</code> of the user for authorization. * @author Antony Joseph */public class ServiceAuthorizer implements IServiceAuthorizer { protected static final Log log = LogFactory.getLog(ServiceAuthorizer.class); public void preMethodInvocation(ISecurityProfile securityProfile, MethodInvocation invocation) throws AuthorizationException { int accessDecision = securityProfile.getAccessDecision( getTarget(invocation), invocation.getMethod().getName()); if (accessDecision == ISecurityProfile.DENIED) { throw new AuthorizationException("Authorization failed. partyCd=" + securityProfile.getPartyCd() + " target=" + getTarget(invocation) + " operation=" + invocation.getMethod().getName()); } } /** * Does nothing */ public void postMethodInvocation(ISecurityProfile securityProfile, MethodInvocation invocation, Object resultObject) throws AuthorizationException { } private String getTarget(MethodInvocation invocation) { return StringUtils.substringAfterLast(invocation.getThis().getClass() .getName(), "."); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?