public final class AclAwareWhitelist extends Whitelist
ACL.SYSTEM user is making them.
First there is a list of unrestricted signatures; these can always be run.
Then there is a (probably much smaller) list of restricted signatures.
These can be run only when the current user is a real user or even Jenkins.ANONYMOUS, but not when ACL.SYSTEM.
Restricted methods should be limited to those which actually perform a permissions check, typically using ACL.checkPermission(hudson.security.Permission).
Allowing the system pseudo-user to run these would be dangerous, since we do not know “on whose behalf” a script is running, and this “user” is permitted to do anything.
| Constructor and Description |
|---|
AclAwareWhitelist(Whitelist unrestricted,
Whitelist restricted)
Creates a delegating whitelist.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
permitsFieldGet(Object receiver,
String field) |
boolean |
permitsFieldSet(Object receiver,
String field,
Object value) |
boolean |
permitsMethod(Object receiver,
String method,
Object[] args) |
boolean |
permitsNew(Class<?> receiver,
Object[] args) |
boolean |
permitsStaticMethod(Class<?> receiver,
String method,
Object[] args) |
public AclAwareWhitelist(Whitelist unrestricted, Whitelist restricted)
unrestricted - a general whitelist; anything permitted by this one will be permitted in any contextrestricted - a whitelist of method/constructor calls (field accesses never consulted) for which ACL checks are expectedpublic boolean permitsMethod(Object receiver, String method, Object[] args)
permitsMethod in class Whitelistpublic boolean permitsNew(Class<?> receiver, Object[] args)
permitsNew in class Whitelistpublic boolean permitsStaticMethod(Class<?> receiver, String method, Object[] args)
permitsStaticMethod in class Whitelistpublic boolean permitsFieldGet(Object receiver, String field)
permitsFieldGet in class Whitelistpublic boolean permitsFieldSet(Object receiver, String field, Object value)
permitsFieldSet in class WhitelistCopyright © 2004-2014. All Rights Reserved.