235 |
*/ |
*/ |
236 |
public static Object doAsPrivileged (final Subject subject, |
public static Object doAsPrivileged (final Subject subject, |
237 |
final PrivilegedExceptionAction action, |
final PrivilegedExceptionAction action, |
238 |
final AccessControlContext acc) |
AccessControlContext acc) |
239 |
throws PrivilegedActionException |
throws PrivilegedActionException |
240 |
{ |
{ |
241 |
final SecurityManager sm = System.getSecurityManager(); |
final SecurityManager sm = System.getSecurityManager(); |
243 |
{ |
{ |
244 |
sm.checkPermission (new AuthPermission ("doAsPrivileged")); |
sm.checkPermission (new AuthPermission ("doAsPrivileged")); |
245 |
} |
} |
246 |
|
if (acc == null) |
247 |
|
acc = new AccessControlContext (new java.security.ProtectionDomain[0]); |
248 |
AccessControlContext context = |
AccessControlContext context = |
249 |
new AccessControlContext (acc, new SubjectDomainCombiner (subject)); |
new AccessControlContext (acc, new SubjectDomainCombiner (subject)); |
250 |
return AccessController.doPrivileged (action, context); |
return AccessController.doPrivileged (action, context); |