|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class SecurityManager extends Object
SecurityManager class содержит много методов с именами, которые начинаются со слова check. Эти методы вызывают различные методы в библиотеках Java прежде, чем те методы выполнят определенные потенциально секретные операции. Вызов такого check метод обычно похож на это:
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkXXX(argument, . . . );
}
Менеджеру безопасности, таким образом, дают возможность предотвратить завершение работы, выдавая исключение. Подпрограмма менеджера безопасности просто возвращается, если работа разрешается, но бросает a SecurityException если работа не разрешается. Единственное исключение к этому соглашению checkTopLevelWindow, который возвращает a boolean значение.
Текущий менеджер безопасности устанавливается setSecurityManager метод в class System. Текущий менеджер безопасности получается getSecurityManager метод.
Специальный метод checkPermission(java.security.Permission) определяет, нужно ли запрос доступа, обозначенный указанным разрешением, предоставить или отрицаться. Вызовы реализации по умолчанию
AccessController.checkPermission(perm);
Если запрошенный доступ позволяется, checkPermission возвраты спокойно. Если отрицающийся, a SecurityException бросается.
С Java 2 SDK v1.2, реализация по умолчанию каждого из другого check методы в SecurityManager должен вызвать SecurityManager checkPermission метод, чтобы определить, есть ли у вызывающего потока разрешение, чтобы выполнить требуемую работу.
Отметьте что checkPermission метод с только единственным параметром разрешения всегда выполняет проверки безопасности в пределах контекста в настоящий момент выполняющегося потока. Иногда проверка защиты, которая должна быть сделана в пределах данного контекста, должна будет фактически быть сделана изнутри различного контекста (например изнутри рабочего потока). getSecurityContext метод и checkPermission метод, который включает параметр контекста, обеспечивается для этой ситуации. getSecurityContext метод возвращает "снимок" текущего контекста вызова. (Реализация по умолчанию возвращает объект AccessControlContext.) Демонстрационный вызов является следующим:
Object context = null; SecurityManager sm = System.getSecurityManager(); if (sm != null) context = sm.getSecurityContext();
checkPermission метод, который берет объект контекста в дополнение к разрешению, делает решения о предоставлении доступа основанными на том контексте, а не на том из текущего потока выполнения. Код в пределах различного контекста может таким образом вызвать тот метод, передавая разрешение и ранее сохраненный объект контекста. Демонстрационный вызов, используя SecurityManager sm полученный как в предыдущем примере, следующее:
if (sm != null) sm.checkPermission(permission, context);
Полномочия попадают в эти категории: Файл, Сокет, Сеть, Безопасность, Время выполнения, Свойство, AWT, Отражается, и Сериализуемый. Классы, управляющие этими различными категориями разрешения, java.io.FilePermission, java.net.SocketPermission, java.net.NetPermission, java.security.SecurityPermission, java.lang.RuntimePermission, java.util.PropertyPermission, java.awt.AWTPermission, java.lang.reflect.ReflectPermission, и java.io.SerializablePermission.
Все кроме первых двух (FilePermission и SocketPermission) являются подклассами java.security.BasicPermission, который непосредственно является абстрактным подклассом верхнего уровня class для полномочий, который является java.security.Permission. BasicPermission определяет функциональность, необходимую для всех полномочий, которые содержат имя, которое следует за иерархическим соглашением о присвоении имен свойства (например, "exitVM", "setFactory", "queuePrintJob", и т.д.). Звездочка может появиться в конце имени, после ".", или отдельно, чтобы показать подстановочное соответствие. Например: "a. *" или "*" допустим, "*a", или "a*b" не допустим.
FilePermission и SocketPermission являются подклассами верхнего уровня class для полномочий (java.security.Permission). Классы как они, у которых есть более сложный синтаксис имени чем используемое подклассом BasicPermission непосредственно из Разрешения, а не от BasicPermission. Например, для a java.io.FilePermission объект, имя разрешения является путем файла (или каталог).
У некоторых из классов полномочий есть список "действий", который говорит действия, которые разрешаются для объекта. Например, для a java.io.FilePermission объект, список действий (такой как "считано, пишут"), определяет, какие действия предоставляют для указанного файла (или для файлов в указанном каталоге).
Другие классы полномочий для "именованных" полномочий - которые содержат имя, но никакой список действий; у Вас или есть именованное разрешение, или Вы не делаете.
Отметьте: есть также a java.security.AllPermission разрешение, которое подразумевает все полномочия. Это существует, чтобы упростить работу системных администраторов, которые, возможно, должны были бы выполнить многократные задачи, которые требуют всех (или многочисленный) полномочия.
См. Полномочия в JDK для связанной с разрешением информации. Этот документ включает, например, таблицу, перечисляющую различный SecurityManager check методы и разрешение (я) реализация по умолчанию каждого такого метода требуют. Это также содержит таблицу всех методов версии 1.2, которые требуют, чтобы полномочия, и для каждого такого метода сказали, какого разрешения это требует.
Для получения дополнительной информации о SecurityManager изменения, произведенные в JDK и совете относительно портирования менеджеров безопасности с 1.1 стилями, см. документацию безопасности.
ClassLoader, SecurityException, checkTopLevelWindow, getSecurityManager, setSecurityManager, AccessController, AccessControlContext, AccessControlException, Permission, BasicPermission, FilePermission, SocketPermission, PropertyPermission, RuntimePermission, AWTPermission, Policy, SecurityPermission, ProtectionDomain| Модификатор и Тип | Поле и Описание |
|---|---|
protected boolean |
inCheck
Осуждаемый.
Этот тип проверки безопасности не рекомендуется. Рекомендуется что
checkPermission вызовите использоваться вместо этого. |
| Конструктор и Описание |
|---|
SecurityManager()
Создает новое
SecurityManager. |
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
checkAccept(String host, int port)
Броски a
SecurityException если вызывающему потоку не разрешают принять сокетное соединение от указанного узла и номера порта. |
void |
checkAccess(Thread t)
Броски a
SecurityException если вызывающему потоку не позволяют изменить параметр потока. |
void |
checkAccess(ThreadGroup g)
Броски a
SecurityException если вызывающему потоку не позволяют изменить групповой параметр потока. |
void |
checkAwtEventQueueAccess()
Броски a
SecurityException если вызывающему потоку не позволяют получить доступ к очереди событий AWT. |
void |
checkConnect(String host, int port)
Броски a
SecurityException если вызывающему потоку не позволяют открыть сокетное соединение с указанным узлом и номером порта. |
void |
checkConnect(String host, int port, Object context)
Броски a
SecurityException если указанному контексту защиты не позволяют открыть сокетное соединение с указанным узлом и номером порта. |
void |
checkCreateClassLoader()
Броски a
SecurityException если вызывающему потоку не позволяют создать новый загрузчик class. |
void |
checkDelete(String file)
Броски a
SecurityException если вызывающему потоку не позволяют удалить указанный файл. |
void |
checkExec(String cmd)
Броски a
SecurityException если вызывающему потоку не позволяют создать подпроцесс. |
void |
checkExit(int status)
Броски a
SecurityException если вызывающему потоку не позволяют заставить виртуальную машину Java останавливаться с указанным кодом состояния. |
void |
checkLink(String lib)
Броски a
SecurityException если вызывающий поток не позволяется динамической ссылке код библиотеки, определенный строковым файлом параметра. |
void |
checkListen(int port)
Броски a
SecurityException если вызывающему потоку не позволяют ожидать запроса соединения на указанном локальном номере порта. |
void |
checkMemberAccess(Class<?> clazz, int which)
Броски a
SecurityException если вызывающему потоку не позволяют получить доступ к элементам. |
void |
checkMulticast(InetAddress maddr)
Броски a
SecurityException если вызывающему потоку не позволяют использовать (присоединяются/уезжают/отправляют/получают) к многоадресной передаче IP. |
void |
checkMulticast(InetAddress maddr, byte ttl)
Осуждаемый.
Используйте #checkPermission (java.security. Разрешение) вместо этого
|
void |
checkPackageAccess(String pkg)
Броски a
SecurityException если вызывающему потоку не позволяют получить доступ к пакету, определенному параметром. |
void |
checkPackageDefinition(String pkg)
Броски a
SecurityException если вызывающему потоку не позволяют определить классы в пакете, определенном параметром. |
void |
checkPermission(Permission perm)
Броски a
SecurityException если запрошенный доступ, определенный данным разрешением, не разрешается основанный на политике безопасности в настоящий момент в действительности. |
void |
checkPermission(Permission perm, Object context)
Броски a
SecurityException если указанный контекст защиты лишен доступа к ресурсу, определенному данным разрешением. |
void |
checkPrintJobAccess()
Броски a
SecurityException если вызывающему потоку не позволяют инициировать запрос задания печати. |
void |
checkPropertiesAccess()
Броски a
SecurityException если вызывающему потоку не позволяют получить доступ или изменить системные свойства. |
void |
checkPropertyAccess(String key)
Броски a
SecurityException если вызывающему потоку не позволяют получить доступ к системному свойству с указанным key имя. |
void |
checkRead(FileDescriptor fd)
Броски a
SecurityException если вызывающему потоку не позволяют читать из указанного дескриптора файла. |
void |
checkRead(String file)
Броски a
SecurityException если вызывающему потоку не позволяют считать файл, определенный строковым параметром. |
void |
checkRead(String file, Object context)
Броски a
SecurityException если указанному контексту защиты не позволяют считать файл, определенный строковым параметром. |
void |
checkSecurityAccess(String target)
Определяет, нужно ли разрешение с указанным целевым именем разрешения предоставить или отрицаться.
|
void |
checkSetFactory()
Броски a
SecurityException если вызывающему потоку не позволяют установить фабрику сокета, используемую ServerSocket или Socket, или потоковая фабрика обработчиков, используемая URL. |
void |
checkSystemClipboardAccess()
Броски a
SecurityException если вызывающему потоку не позволяют получить доступ к системному буферу обмена. |
boolean |
checkTopLevelWindow(Object window)
Возвраты
false если вызывающему потоку не доверяют, чтобы перевести в рабочее состояние высокоуровневое окно, обозначенное window параметр. |
void |
checkWrite(FileDescriptor fd)
Броски a
SecurityException если вызывающему потоку не позволяют записать в указанный дескриптор файла. |
void |
checkWrite(String file)
Броски a
SecurityException если вызывающему потоку не позволяют записать в файл, определенный строковым параметром. |
protected int |
classDepth(String name)
Осуждаемый.
Этот тип проверки безопасности не рекомендуется. Рекомендуется что
checkPermission вызовите использоваться вместо этого. |
protected int |
classLoaderDepth()
Осуждаемый.
Этот тип проверки безопасности не рекомендуется. Рекомендуется что
checkPermission вызовите использоваться вместо этого. |
protected ClassLoader |
currentClassLoader()
Осуждаемый.
Этот тип проверки безопасности не рекомендуется. Рекомендуется что
checkPermission вызовите использоваться вместо этого. |
protected Class<?> |
currentLoadedClass()
Осуждаемый.
Этот тип проверки безопасности не рекомендуется. Рекомендуется что
checkPermission вызовите использоваться вместо этого. |
protected Class[] |
getClassContext()
Возвращает текущий стек выполнения как массив классов.
|
boolean |
getInCheck()
Осуждаемый.
Этот тип проверки безопасности не рекомендуется. Рекомендуется что
checkPermission вызовите использоваться вместо этого. |
Объект |
getSecurityContext()
Создает объект, который инкапсулирует текущую среду выполнения.
|
ThreadGroup |
getThreadGroup()
Возвращает группу потока, в которую можно инстанцировать любого нового потока, создаваемого в то время, когда это вызывают.
|
protected boolean |
inClass(String name)
Осуждаемый.
Этот тип проверки безопасности не рекомендуется. Рекомендуется что
checkPermission вызовите использоваться вместо этого. |
protected boolean |
inClassLoader()
Осуждаемый.
Этот тип проверки безопасности не рекомендуется. Рекомендуется что
checkPermission вызовите использоваться вместо этого. |
@Deprecated protected boolean inCheck
checkPermission вызовите использоваться вместо этого.true если есть происходящая проверка защиты; false иначе.public SecurityManager()
SecurityManager. Если есть менеджер безопасности, уже установленный, этот метод первые вызовы менеджер безопасности checkPermission метод с RuntimePermission("createSecurityManager") у разрешения, чтобы гарантировать вызывающий поток есть разрешение, чтобы создать нового менеджера безопасности. Это может привести к броску a SecurityException.
SecurityException - если менеджер безопасности уже существует и checkPermission метод не позволяет создание нового менеджера безопасности.System.getSecurityManager(), checkPermission, RuntimePermission@Deprecated public boolean getInCheck()
checkPermission вызовите использоваться вместо этого.inCheck поле. Это поле должно содержать true если проверка защиты происходит, false иначе.inCheckprotected Class[] getClassContext()
Длина массива является числом методов на стеке выполнения. Элемент в индексирует 0 class в настоящий момент выполняющегося метода, элемент в индексируют 1 class вызывающей стороны того метода, и так далее.
@Deprecated protected ClassLoader currentClassLoader()
checkPermission вызовите использоваться вместо этого.ClassLoader.getSystemClassLoader()) или один из его предков. Этот метод возвратится null в следующих трех случаях:
AccessController.doPrivileged(java.security.PrivilegedAction<T>)) от классов, определенных, используя систему загрузчик class или один из его предков. checkPermission с java.security.AllPermission не приводит к SecurityException. getSystemClassLoader, checkPermission@Deprecated protected Class<?> currentLoadedClass()
checkPermission вызовите использоваться вместо этого.ClassLoader.getSystemClassLoader()) или один из его предков. Этот метод возвратится null в следующих трех случаях:
AccessController.doPrivileged(java.security.PrivilegedAction<T>)) от классов, определенных, используя систему загрузчик class или один из его предков. checkPermission с java.security.AllPermission не приводит к SecurityException. getSystemClassLoader, checkPermission@Deprecated protected int classDepth(String name)
checkPermission вызовите использоваться вместо этого.name - полностью определенное имя class, чтобы искать.-1 если такой фрейм не может быть найден.@Deprecated protected int classLoaderDepth()
checkPermission вызовите использоваться вместо этого.ClassLoader.getSystemClassLoader()) или один из его предков. Этот метод возвратится-1 в следующих трех случаях:
AccessController.doPrivileged(java.security.PrivilegedAction<T>)) от классов, определенных, используя систему загрузчик class или один из его предков. checkPermission с java.security.AllPermission не приводит к SecurityException. getSystemClassLoader, checkPermission@Deprecated protected boolean inClass(String name)
checkPermission вызовите использоваться вместо этого.name - полностью определенное имя class.true если метод от class с указанным именем находится на стеке выполнения; false иначе.@Deprecated protected boolean inClassLoader()
checkPermission вызовите использоваться вместо этого.true если звонок currentClassLoader имеет ненулевое возвращаемое значение.currentClassLoaderpublic Object getSecurityContext()
checkConnect метод и с двумя параметрами checkRead метод. Эти методы необходимы, потому что к доверяемому методу можно обратиться с просьбой считать файл или открыть сокет от имени другого метода. Доверяемый метод должен определить, позволили ли бы другой (возможно недоверяемый) методу выполнить работу самостоятельно. Реализация по умолчанию этого метода должна возвратиться AccessControlContext объект.
checkConnect, checkRead, AccessControlContextpublic void checkPermission(Permission perm)
SecurityException если запрошенный доступ, определенный данным разрешением, не разрешается основанный на политике безопасности в настоящий момент в действительности. Это вызовы метода AccessController.checkPermission с данным разрешением.
perm - требуемое разрешение.SecurityException - если доступ не разрешается основанный на текущей политике безопасности.NullPointerException - если параметр разрешения null.public void checkPermission(Permission perm, Object context)
SecurityException если указанный контекст защиты лишен доступа к ресурсу, определенному данным разрешением. Контекст должен быть контекстом защиты, возвращенным предыдущим звонком getSecurityContext и решение управления доступом основано на сконфигурированной политике безопасности для того контекста защиты. Если context экземпляр AccessControlContext тогда AccessControlContext.checkPermission метод вызывается с указанным разрешением.
Если context не экземпляр AccessControlContext тогда a SecurityException бросается.
perm - указанное разрешениеcontext - системно-зависимый контекст защиты.SecurityException - если указанный контекст защиты не является экземпляром AccessControlContext (например, null), или лишено доступа к ресурсу, определенному данным разрешением.NullPointerException - если параметр разрешения null.getSecurityContext(), AccessControlContext.checkPermission(java.security.Permission)public void checkCreateClassLoader()
SecurityException если вызывающему потоку не позволяют создать новый загрузчик class. Это вызовы метода checkPermission с RuntimePermission("createClassLoader") разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkCreateClassLoader в точке переопределенный метод обычно выдавал бы исключение.
SecurityException - если у вызывающего потока нет разрешения, чтобы создать новый загрузчик class.ClassLoader.ClassLoader(), checkPermissionpublic void checkAccess(Thread t)
SecurityException если вызывающему потоку не позволяют изменить параметр потока. Этот метод вызывается для текущего менеджера безопасности stop, suspend, resume, setPriority, setName, и setDaemon методы class Thread.
Если параметром потока является системный поток (принадлежит группе потока с a null родитель) тогда это вызовы метода checkPermission с RuntimePermission("modifyThread") разрешение. Если параметром потока не является системный поток, этот метод только возвращается тихо.
Приложения, которые хотят более строгую политику, должны переопределить этот метод. Если этот метод переопределяется, метод, который переопределяет его, должен дополнительно проверить, чтобы видеть, имеет ли вызывающий поток RuntimePermission("modifyThread") разрешение, и если так, возвращается тихо. Это должно гарантировать, что код, предоставленный, что разрешению (такому как JDK непосредственно) позволяют управлять любым потоком.
Если этот метод переопределяется, то super.checkAccess должен быть вызван первым оператором в переопределенном методе, или эквивалентная проверка защиты должна быть помещена в переопределенный метод.
t - поток, который будет проверен.SecurityException - если у вызывающего потока нет разрешения, чтобы изменить поток.NullPointerException - если параметр потока null.resume, setDaemon, setName, setPriority, stop, suspend, checkPermissionpublic void checkAccess(ThreadGroup g)
SecurityException если вызывающему потоку не позволяют изменить групповой параметр потока. Этот метод вызывается для текущего менеджера безопасности, когда новый дочерний поток или дочерняя группа потока создаются, и setDaemon, setMaxPriority, stop, suspend, resume, и destroy методы class ThreadGroup.
Если групповым параметром потока является системная группа потока (имеет a null родитель) тогда это вызовы метода checkPermission с RuntimePermission("modifyThreadGroup") разрешение. Если групповым параметром потока не является системная группа потока, этот метод только возвращается тихо.
Приложения, которые хотят более строгую политику, должны переопределить этот метод. Если этот метод переопределяется, метод, который переопределяет его, должен дополнительно проверить, чтобы видеть, имеет ли вызывающий поток RuntimePermission("modifyThreadGroup") разрешение, и если так, возвращается тихо. Это должно гарантировать, что код, предоставленный, что разрешению (такому как JDK непосредственно) позволяют управлять любым потоком.
Если этот метод переопределяется, то super.checkAccess должен быть вызван первым оператором в переопределенном методе, или эквивалентная проверка защиты должна быть помещена в переопределенный метод.
g - группа потока, которая будет проверена.SecurityException - если у вызывающего потока нет разрешения, чтобы изменить группу потока.NullPointerException - если групповой параметр потока null.destroy, resume, setDaemon, setMaxPriority, stop, suspend, checkPermissionpublic void checkExit(int status)
SecurityException если вызывающему потоку не позволяют заставить виртуальную машину Java останавливаться с указанным кодом состояния. Этот метод вызывается для текущего менеджера безопасности exit метод class Runtime. Состояние 0 указывает на успех; другие значения указывают на различные ошибки.
Это вызовы метода checkPermission с RuntimePermission("exitVM."+status) разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkExit в точке переопределенный метод обычно выдавал бы исключение.
status - статус выхода.SecurityException - если у вызывающего потока нет разрешения, чтобы остановить виртуальную машину Java с указанным состоянием.exit, checkPermissionpublic void checkExec(String cmd)
SecurityException если вызывающему потоку не позволяют создать подпроцесс. Этот метод вызывается для текущего менеджера безопасности exec методы class Runtime.
Это вызовы метода checkPermission с FilePermission(cmd,"execute") разрешение, если cmd является абсолютным путем, иначе он вызывает checkPermission с FilePermission("<<ALL FILES>>","execute").
Если Вы переопределяете этот метод, то следует сделать звонок super.checkExec в точке переопределенный метод обычно выдавал бы исключение.
cmd - указанная системная команда.SecurityException - если у вызывающего потока нет разрешения, чтобы создать подпроцесс.NullPointerException - если cmd параметр null.Runtime.exec(java.lang.String), Runtime.exec(java.lang.String, java.lang.String[]), Runtime.exec(java.lang.String[]), Runtime.exec(java.lang.String[], java.lang.String[]), checkPermissionpublic void checkLink(String lib)
SecurityException если вызывающий поток не позволяется динамической ссылке код библиотеки, определенный строковым файлом параметра. Параметром является или простое имя библиотеки или полное имя файла. Этот метод вызывается для текущего менеджера безопасности методами load и loadLibrary из class Runtime.
Это вызовы метода checkPermission с RuntimePermission("loadLibrary."+lib) разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkLink в точке переопределенный метод обычно выдавал бы исключение.
lib - имя библиотеки.SecurityException - если у вызывающего потока нет разрешения, чтобы динамически соединить библиотеку.NullPointerException - если lib параметр null.Runtime.load(java.lang.String), Runtime.loadLibrary(java.lang.String), checkPermissionpublic void checkRead(FileDescriptor fd)
SecurityException если вызывающему потоку не позволяют читать из указанного дескриптора файла. Это вызовы метода checkPermission с RuntimePermission("readFileDescriptor") разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkRead в точке переопределенный метод обычно выдавал бы исключение.
fd - системно-зависимый дескриптор файла.SecurityException - если у вызывающего потока нет разрешения, чтобы получить доступ к указанному дескриптору файла.NullPointerException - если параметр дескриптора файла null.FileDescriptor, checkPermissionpublic void checkRead(String file)
SecurityException если вызывающему потоку не позволяют считать файл, определенный строковым параметром. Это вызовы метода checkPermission с FilePermission(file,"read") разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkRead в точке переопределенный метод обычно выдавал бы исключение.
file - системно-зависимое имя файла.SecurityException - если у вызывающего потока нет разрешения, чтобы получить доступ к указанному файлу.NullPointerException - если file параметр null.checkPermissionpublic void checkRead(String file, Object context)
SecurityException если указанному контексту защиты не позволяют считать файл, определенный строковым параметром. Контекст должен быть контекстом защиты, возвращенным предыдущим звонком getSecurityContext. Если context экземпляр AccessControlContext тогда AccessControlContext.checkPermission метод будет вызван с FilePermission(file,"read") разрешение.
Если context не экземпляр AccessControlContext тогда a SecurityException бросается.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkRead в точке переопределенный метод обычно выдавал бы исключение.
file - системно-зависимое имя файла.context - системно-зависимый контекст защиты.SecurityException - если указанный контекст защиты не является экземпляром AccessControlContext (например, null), или не имеет разрешения, чтобы считать указанный файл.NullPointerException - если file параметр null.getSecurityContext(), AccessControlContext.checkPermission(java.security.Permission)public void checkWrite(FileDescriptor fd)
SecurityException если вызывающему потоку не позволяют записать в указанный дескриптор файла. Это вызовы метода checkPermission с RuntimePermission("writeFileDescriptor") разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkWrite в точке переопределенный метод обычно выдавал бы исключение.
fd - системно-зависимый дескриптор файла.SecurityException - если у вызывающего потока нет разрешения, чтобы получить доступ к указанному дескриптору файла.NullPointerException - если параметр дескриптора файла null.FileDescriptor, checkPermissionpublic void checkWrite(String file)
SecurityException если вызывающему потоку не позволяют записать в файл, определенный строковым параметром. Это вызовы метода checkPermission с FilePermission(file,"write") разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkWrite в точке переопределенный метод обычно выдавал бы исключение.
file - системно-зависимое имя файла.SecurityException - если у вызывающего потока нет разрешения, чтобы получить доступ к указанному файлу.NullPointerException - если file параметр null.checkPermissionpublic void checkDelete(String file)
SecurityException если вызывающему потоку не позволяют удалить указанный файл. Этот метод вызывается для текущего менеджера безопасности delete метод class File.
Это вызовы метода checkPermission с FilePermission(file,"delete") разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkDelete в точке переопределенный метод обычно выдавал бы исключение.
file - системно-зависимое имя файла.SecurityException - если у вызывающего потока нет разрешения, чтобы удалить файл.NullPointerException - если file параметр null.File.delete(), checkPermissionpublic void checkConnect(String host, int port)
SecurityException если вызывающему потоку не позволяют открыть сокетное соединение с указанным узлом и номером порта. Номер порта -1 указывает, что метод вызова пытается определить IP-адрес указанного имени хоста.
Это вызовы метода checkPermission с SocketPermission(host+":"+port,"connect") разрешение, если порт не равен-1. Если порт равен-1, то он вызывает checkPermission с SocketPermission(host,"resolve") разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkConnect в точке переопределенный метод обычно выдавал бы исключение.
host - порт имени хоста, чтобы соединиться с.port - порт протокола, чтобы соединиться с.SecurityException - если у вызывающего потока нет разрешения, чтобы открыть сокетное соединение с указанным host и port.NullPointerException - если host параметр null.checkPermissionpublic void checkConnect(String host, int port, Object context)
SecurityException если указанному контексту защиты не позволяют открыть сокетное соединение с указанным узлом и номером порта. Номер порта -1 указывает, что метод вызова пытается определить IP-адрес указанного имени хоста.
Если context не экземпляр AccessControlContext тогда a SecurityException бросается.
Иначе, номер порта проверяется. Если это не равно-1, context's checkPermission метод вызывают с a SocketPermission(host+":"+port,"connect") разрешение. Если порт равен-1, то context's checkPermission метод вызывают с a SocketPermission(host,"resolve") разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkConnect в точке переопределенный метод обычно выдавал бы исключение.
host - порт имени хоста, чтобы соединиться с.port - порт протокола, чтобы соединиться с.context - системно-зависимый контекст защиты.SecurityException - если указанный контекст защиты не является экземпляром AccessControlContext (например, null), или не имеет разрешения, чтобы открыть сокетное соединение с указанным host и port.NullPointerException - если host параметр null.getSecurityContext(), AccessControlContext.checkPermission(java.security.Permission)public void checkListen(int port)
SecurityException если вызывающему потоку не позволяют ожидать запроса соединения на указанном локальном номере порта. Если порт не 0, это вызовы метода checkPermission с SocketPermission("localhost:"+port,"listen"). Если порт является нулем, это вызовы метода checkPermission с SocketPermission("localhost:1024-","listen").
Если Вы переопределяете этот метод, то следует сделать звонок super.checkListen в точке переопределенный метод обычно выдавал бы исключение.
port - локальный порт.SecurityException - если у вызывающего потока нет разрешения, чтобы слушать на указанном порту.checkPermissionpublic void checkAccept(String host, int port)
SecurityException если вызывающему потоку не разрешают принять сокетное соединение от указанного узла и номера порта. Этот метод вызывается для текущего менеджера безопасности accept метод class ServerSocket.
Это вызовы метода checkPermission с SocketPermission(host+":"+port,"accept") разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkAccept в точке переопределенный метод обычно выдавал бы исключение.
host - имя хоста сокетного соединения.port - номер порта сокетного соединения.SecurityException - если у вызывающего потока нет разрешения, чтобы принять соединение.NullPointerException - если host параметр null.ServerSocket.accept(), checkPermissionpublic void checkMulticast(InetAddress maddr)
SecurityException если вызывающему потоку не позволяют использовать (присоединяются/уезжают/отправляют/получают) к многоадресной передаче IP. Это вызовы метода checkPermission с java.net.SocketPermission(maddr.getHostAddress(), "accept,connect") разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkMulticast в точке переопределенный метод обычно выдавал бы исключение.
maddr - Интернет-группа адресуется, чтобы использоваться.SecurityException - если вызывающему потоку не позволяют использовать (присоединяются/уезжают/отправляют/получают) к многоадресной передаче IP.NullPointerException - если параметр адреса null.checkPermission@Deprecated public void checkMulticast(InetAddress maddr, byte ttl)
SecurityException если вызывающему потоку не позволяют использовать (присоединяются/уезжают/отправляют/получают) к многоадресной передаче IP. Это вызовы метода checkPermission с java.net.SocketPermission(maddr.getHostAddress(), "accept,connect") разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkMulticast в точке переопределенный метод обычно выдавал бы исключение.
maddr - Интернет-группа адресуется, чтобы использоваться.ttl - значение в использовании, если это многоадресно передается, передается. Отметьте: эта определенная реализация не использует ttl параметр.SecurityException - если вызывающему потоку не позволяют использовать (присоединяются/уезжают/отправляют/получают) к многоадресной передаче IP.NullPointerException - если параметр адреса null.checkPermissionpublic void checkPropertiesAccess()
SecurityException если вызывающему потоку не позволяют получить доступ или изменить системные свойства. Этот метод используется getProperties и setProperties методы class System.
Это вызовы метода checkPermission с PropertyPermission("*", "read,write") разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkPropertiesAccess в точке переопределенный метод обычно выдавал бы исключение.
SecurityException - если у вызывающего потока нет разрешения, чтобы получить доступ или изменить системные свойства.System.getProperties(), System.setProperties(java.util.Properties), checkPermissionpublic void checkPropertyAccess(String key)
SecurityException если вызывающему потоку не позволяют получить доступ к системному свойству с указанным key имя. Этот метод используется getProperty метод class System.
Это вызовы метода checkPermission с PropertyPermission(key, "read") разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkPropertyAccess в точке переопределенный метод обычно выдавал бы исключение.
key - системный ключ свойства.SecurityException - если у вызывающего потока нет разрешения, чтобы получить доступ к указанному системному свойству.NullPointerException - если key параметр null.IllegalArgumentException - если key пусто.System.getProperty(java.lang.String), checkPermissionpublic boolean checkTopLevelWindow(Object window)
false если вызывающему потоку не доверяют, чтобы перевести в рабочее состояние высокоуровневое окно, обозначенное window параметр. В этом случае вызывающая сторона может все еще решить показать окно, но окно должно включать своего рода визуальное предупреждение. Если метод возвращается true, тогда окно можно показать без любых специальных ограничений. См. class Window для получения дополнительной информации о доверяемых и недоверяемых окнах.
Это вызовы метода checkPermission с AWTPermission("showWindowWithoutWarningBanner") разрешение, и возвраты true если SecurityException не бросается, иначе он возвращается false. В случае Профилей подмножества Java SE, которые не включают java.awt пакет, checkPermission вместо этого вызывается, чтобы проверить разрешение java.security.AllPermission.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkTopLevelWindow в точке обычно возвращался бы переопределенный метод false, и значение super.checkTopLevelWindow должен быть возвращен.
window - новое окно, которое создается.true если вызывающему потоку доверяют, чтобы поднять высокоуровневые окна; false иначе.NullPointerException - если window параметр null.Window, checkPermissionpublic void checkPrintJobAccess()
SecurityException если вызывающему потоку не позволяют инициировать запрос задания печати. Это вызовы метода checkPermission с RuntimePermission("queuePrintJob") разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkPrintJobAccess в точке переопределенный метод обычно выдавал бы исключение.
SecurityException - если у вызывающего потока нет разрешения, чтобы инициировать запрос задания печати.checkPermissionpublic void checkSystemClipboardAccess()
SecurityException если вызывающему потоку не позволяют получить доступ к системному буферу обмена. Это вызовы метода checkPermission с AWTPermission("accessClipboard") разрешение. В случае Профилей подмножества Java SE, которые не включают java.awt пакет, checkPermission вместо этого вызывается, чтобы проверить разрешение java.security.AllPermission.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkSystemClipboardAccess в точке переопределенный метод обычно выдавал бы исключение.
SecurityException - если у вызывающего потока нет разрешения, чтобы получить доступ к системному буферу обмена.checkPermissionpublic void checkAwtEventQueueAccess()
SecurityException если вызывающему потоку не позволяют получить доступ к очереди событий AWT. Это вызовы метода checkPermission с AWTPermission("accessEventQueue") разрешение. В случае Профилей подмножества Java SE, которые не включают java.awt пакет, checkPermission вместо этого вызывается, чтобы проверить разрешение java.security.AllPermission.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkAwtEventQueueAccess в точке переопределенный метод обычно выдавал бы исключение.
SecurityException - если у вызывающего потока нет разрешения, чтобы получить доступ к очереди событий AWT.checkPermissionpublic void checkPackageAccess(String pkg)
SecurityException если вызывающему потоку не позволяют получить доступ к пакету, определенному параметром. Этот метод используется loadClass метод загрузчиков class.
Этот метод сначала получает список ограниченных пакетов, получая список разделенных запятой значений из звонка java.security.Security.getProperty("package.access"), и проверки, чтобы видеть, если pkg запускается с или равняется любому из ограниченных пакетов. Если это делает, то checkPermission вызывается с RuntimePermission("accessClassInPackage."+pkg) разрешение.
Если этот метод переопределяется, то super.checkPackageAccess должен быть вызван как первая строка в переопределенном методе.
pkg - имя пакета.SecurityException - если у вызывающего потока нет разрешения, чтобы получить доступ к указанному пакету.NullPointerException - если параметр имени пакета null.loadClass, getProperty, checkPermissionpublic void checkPackageDefinition(String pkg)
SecurityException если вызывающему потоку не позволяют определить классы в пакете, определенном параметром. Этот метод используется loadClass метод некоторых загрузчиков class.
Этот метод сначала получает список ограниченных пакетов, получая список разделенных запятой значений из звонка java.security.Security.getProperty("package.definition"), и проверки, чтобы видеть, если pkg запускается с или равняется любому из ограниченных пакетов. Если это делает, то checkPermission вызывается с RuntimePermission("defineClassInPackage."+pkg) разрешение.
Если этот метод переопределяется, то super.checkPackageDefinition должен быть вызван как первая строка в переопределенном методе.
pkg - имя пакета.SecurityException - если у вызывающего потока нет разрешения, чтобы определить классы в указанном пакете.ClassLoader.loadClass(java.lang.String, boolean), getProperty, checkPermissionpublic void checkSetFactory()
SecurityException если вызывающему потоку не позволяют установить фабрику сокета, используемую ServerSocket или Socket, или потоковая фабрика обработчиков, используемая URL. Это вызовы метода checkPermission с RuntimePermission("setFactory") разрешение.
Если Вы переопределяете этот метод, то следует сделать звонок super.checkSetFactory в точке переопределенный метод обычно выдавал бы исключение.
SecurityException - если у вызывающего потока нет разрешения, чтобы определить фабрику сокета или потоковую фабрику обработчиков.setSocketFactory, setSocketImplFactory, setURLStreamHandlerFactory, checkPermissionpublic void checkMemberAccess(Class<?> clazz, int which)
SecurityException если вызывающему потоку не позволяют получить доступ к элементам. Политика значения по умолчанию состоит в том, чтобы предоставить доступ к элементам PUBLIC, так же как доступ к классам, у которых есть тот же самый загрузчик class как вызывающая сторона. Во всех других случаях, это вызовы метода checkPermission с RuntimePermission("accessDeclaredMembers") разрешение.
Если этот метод переопределяется, то звонок super.checkMemberAccess не может быть сделан, как реализация по умолчанию checkMemberAccess полагается на код, проверяемый, будучи в глубине стека 4.
clazz - class, на котором должно быть выполнено отражение.which - тип доступа, ОБЩЕСТВЕННОСТИ или ОБЪЯВЛЕННЫЙ.SecurityException - если у вызывающей стороны нет разрешения, чтобы получить доступ к элементам.NullPointerException - если clazz параметр null.Member, checkPermissionpublic void checkSecurityAccess(String target)
Если требуемое разрешение позволяется, этот метод возвращается спокойно. Если отрицающийся, SecurityException повышается.
Этот метод создает a SecurityPermission объект для данного разрешения предназначается для имени и вызовов checkPermission с этим.
См. документацию для поскольку список возможного разрешения предназначается для имен. SecurityPermission
Если Вы переопределяете этот метод, то следует сделать звонок super.checkSecurityAccess в точке переопределенный метод обычно выдавал бы исключение.
target - целевое имя SecurityPermission.SecurityException - если у вызывающего потока нет разрешения для запрошенного доступа.NullPointerException - если target нуль.IllegalArgumentException - если target пусто.checkPermissionpublic ThreadGroup getThreadGroup()
ThreadGroup
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92