001
014
015 package com.liferay.portal.security.pacl.checker;
016
017 import com.liferay.portal.kernel.log.Log;
018 import com.liferay.portal.kernel.log.LogFactoryUtil;
019
020 import java.security.Permission;
021
022 import sun.reflect.Reflection;
023
024
027 public class ReflectChecker extends BaseChecker {
028
029 public void afterPropertiesSet() {
030 }
031
032 public boolean implies(Permission permission) {
033 int stackIndex = getStackIndex(10, 9);
034
035 Class<?> callerClass = Reflection.getCallerClass(stackIndex);
036
037 if (isTrustedCaller(callerClass, permission)) {
038 return true;
039 }
040
041 logSecurityException(_log, "Attempted to reflect");
042
043 return false;
044 }
045
046 private static Log _log = LogFactoryUtil.getLog(ReflectChecker.class);
047
048 }