java.security.AccessControlContext类的使用及代码示例

x33g5p2x  于2022-01-15 转载在 其他  
字(7.3k)|赞(0)|评价(0)|浏览(248)

本文整理了Java中java.security.AccessControlContext类的一些代码示例,展示了AccessControlContext类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AccessControlContext类的具体详情如下:
包路径:java.security.AccessControlContext
类名称:AccessControlContext

AccessControlContext介绍

[英]Legacy security code; do not use.
[中]遗留安全代码;不要使用。

代码示例

代码示例来源:origin: wildfly/wildfly

final ProtectionDomain[] finalDomains = Arrays.copyOf(protectionDomainStack, protectionDomainStack.length + 1);
    finalDomains[protectionDomainStack.length] = getCallerClass(2).getProtectionDomain();
    combined = new AccessControlContext(finalDomains);
return (T) doPrivileged(PA_TRAMPOLINE2, combined);

代码示例来源:origin: spring-projects/spring-framework

AccessControlContext acc = provider.getAccessControlContext();
try {
  acc.checkPermission(new PropertyPermission("*", "read"));
  fail("Acc should not have any permissions");
  AccessController.doPrivileged(new PrivilegedExceptionAction<Object>() {
  AccessController.doPrivileged(
      new PrivilegedExceptionAction<Object>() {

代码示例来源:origin: robovm/robovm

public DomainCombiner run() {
    return context.getDomainCombiner();
  }
};

代码示例来源:origin: org.apache.qpid/qpid-broker-core

@Override
public final AccessControlContext getAccessControlContextFromSubject(final Subject subject)
{
  final AccessControlContext acc = AccessController.getContext();
  return AccessController.doPrivileged(
      (PrivilegedAction<AccessControlContext>) () -> {
        if (subject == null)
          return new AccessControlContext(acc, null);
        else
          return new AccessControlContext
              (acc,
               new SubjectDomainCombiner(subject));
      });
}

代码示例来源:origin: au.net.zeus.jgdms/jgdms-platform

public Object run() {
  DomainCombiner comb0 = acc0.getDomainCombiner();
  AccessControlContext acc1 =
  new AccessControlContext(acc0, new Combiner(comb0));
  AccessControlContext acc2 = (AccessControlContext)
  AccessController.doPrivileged(new PrivilegedAction() {
    public Object run() {
      return AccessController.getContext();
    }
    }, acc1);
  return new AccessControlContext(acc2, comb0);
}
});

代码示例来源:origin: stackoverflow.com

loader =  t.getContextClassLoader();
if (System.getSecurityManager()!=null){
  acc = AccessController.getContext();//keep current permissions             
  acc.checkPermission(new RuntimePermission("setContextClassLoader"));
  AccessController.doPrivileged(new PrivilegedAction<Object>(){
    @Override
    public Object run() {
    AccessController.doPrivileged(new PrivilegedAction<Object>(){
      @Override
      public Object run() {

代码示例来源:origin: backport-util-concurrent/backport-util-concurrent

PrivilegedThreadFactory() {
  super();
  this.ccl = Thread.currentThread().getContextClassLoader();
  this.acc = AccessController.getContext();
  acc.checkPermission(new RuntimePermission("setContextClassLoader"));
}

代码示例来源:origin: org.apache.geronimo.blueprint/geronimo-blueprint-core

private AccessControlContext createAccessControlContext() {
  return new AccessControlContext(AccessController.getContext(),
      new DomainCombiner() {               
        public ProtectionDomain[] combine(ProtectionDomain[] arg0,
                         ProtectionDomain[] arg1) {                    
          return new ProtectionDomain[] { new ProtectionDomain(null, null) {                        
            public boolean implies(Permission permission) {                                                           
              return bundleContext.getBundle().hasPermission(permission);
            }
          } 
        };
      }
  });
}

代码示例来源:origin: net.sf.tsl2nano/tsl2.nano.serviceaccess

/**
   * @return true, if security managers permission check was ok.
   */
  public boolean isPermitted() {
    try {
      // needs security policy entry "createAccessControlContext"
      final AccessControlContext accessControlContext = new AccessControlContext(AccessController.getContext(),
        new SubjectDomainCombiner(ServiceFactory.instance().getSubject()));
      accessControlContext.checkPermission(new APermission(getId(), null));
      // System.getSecurityManager().checkPermission(new
      // ActionPermission(getId()));
      return true;
    } catch (final SecurityException e) {
      LOG.error("", e);
      return false;
    }
  }
}

代码示例来源:origin: robovm/robovm

public AccessControlContext run() {
    return new AccessControlContext(context, combiner);
  }
};

代码示例来源:origin: stackoverflow.com

C:\ReflectionTest>java -Djava.security.manager CallFoo
Exception in thread "main" java.security.AccessControlException: access denied (java.lang.reflect.ReflectPermission suppressAccessChecks)
  at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
  at java.security.AccessController.checkPermission(AccessController.java:427)
  at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
  at java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:107)
  at CallFoo.main(CallFoo.java:8)

代码示例来源:origin: de.mirkosertic.bytecoder/java.base

public void checkPermission(Permission perm, Object context) {
  if (context instanceof AccessControlContext) {
    ((AccessControlContext)context).checkPermission(perm);
  } else {
    throw new SecurityException();
  }
}

代码示例来源:origin: org.onosproject/org.apache.felix.framework.security

public Object run()
  {
    // this is a call to merge with the current context.
    if (m_system != null)
    {
      return new AccessControlContext(m_system, this);
    }

    // this is a call to get the protection domains.
    AccessController.checkPermission(ALL_PERMISSION);
    return null;
  }
}

代码示例来源:origin: xap/xap

/**
 * Creates privileged context that contains the protection domain of the given caller class (if
 * non-null) and uses the domain combiner of the specified context.  This method assumes it is
 * called from within a privileged block.
 */
private static AccessControlContext createPrivilegedContext(
    Class caller,
    AccessControlContext acc) {
  DomainCombiner comb = acc.getDomainCombiner();
  ProtectionDomain pd = caller.getProtectionDomain();
  ProtectionDomain[] pds = (pd != null) ?
      new ProtectionDomain[]{pd} : null;
  if (comb != null) {
    pds = comb.combine(pds, null);
  }
  if (pds == null) {
    pds = new ProtectionDomain[0];
  }
  return new AccessControlContext(new AccessControlContext(pds), comb);
}

代码示例来源:origin: wildfly/wildfly

@SuppressWarnings("checkstyle:equalshashcode")
public boolean equals(final PrivilegedSaslClientFactory other) {
  return super.equals(other) && context.equals(other.context);
}

代码示例来源:origin: apache/karaf

public static <T> T doAs(final Subject subject,
             final PrivilegedAction<T> action) {
  if (action == null) {
    throw new NullPointerException();
  }
  // set up the new Subject-based AccessControlContext for doPrivileged
  final AccessControlContext currentAcc = AccessController.getContext();
  final AccessControlContext newAcc = AccessController.doPrivileged
      ((PrivilegedAction<AccessControlContext>) () -> new AccessControlContext(currentAcc,
          subject != null ? new OsgiSubjectDomainCombiner(subject) : null));
  // call doPrivileged and push this new context on the stack
  return AccessController.doPrivileged(action, newAcc);
}

代码示例来源:origin: xap/xap

public Object run() {
    DomainCombiner comb0 = acc0.getDomainCombiner();
    AccessControlContext acc1 =
        new AccessControlContext(acc0, new Combiner(comb0));
    AccessControlContext acc2 = (AccessControlContext)
        AccessController.doPrivileged(new PrivilegedAction() {
          public Object run() {
            return AccessController.getContext();
          }
        }, acc1);
    return new AccessControlContext(acc2, comb0);
  }
});

代码示例来源:origin: org.scala-lang.virtualized/scala-actors

PrivilegedCallableUsingCurrentClassLoader(Callable task) {
  this.task = task;
  this.ccl = Thread.currentThread().getContextClassLoader();
  this.acc = AccessController.getContext();
  acc.checkPermission(new RuntimePermission("getContextClassLoader"));
  acc.checkPermission(new RuntimePermission("setContextClassLoader"));
}

代码示例来源:origin: org.apache.felix/org.apache.felix.configadmin

public static AccessControlContext getAccessControlContext( final Bundle bundle )
{
  return new AccessControlContext(AccessController.getContext(), new CMDomainCombiner(bundle));
}

代码示例来源:origin: robovm/robovm

public Object run() {
    return new AccessControlContext(context, combiner);
  }
};

相关文章