Класс SQLPermission
- java.lang.Object
-
- java.security.Permission
-
- java.security.BasicPermission
-
- java.sql.SQLPermission
- Все реализуемые интерфейсы:
- Serializable, Guard
public final class SQLPermission extends BasicPermission
Разрешение, которое проверяет SecurityManager, когда код, выполняющий приложение с включённой SecurityManager, вызывает метод DriverManager.deregisterDriver, метод DriverManager.setLogWriter, метод DriverManager.setLogStream (устаревший), метод SyncFactory.setJNDIContext, метод SyncFactory.setLogger, метод Connection.setNetworktimeout или метод Connection.abort. Если объект SQLPermission отсутствует, эти методы выбрасывают исключение java.lang.SecurityException в качестве исключения времени выполнения.
Объект SQLPermission содержит имя (также называемое «именем целевого объекта»), но не список действий; либо есть разрешение с именем, либо его нет. Имя целевого объекта — имя разрешения (см. ниже). Правила именования следуют соглашению об именовании иерархических свойств. Кроме того, в конце имени после точки или самостоятельно может стоять звёздочка, чтобы обозначить соответствие с подстановочным знаком. Например: loadLibrary.* и * обозначают соответствие с подстановочным знаком, в то время как *loadLibrary и a*b — нет.
В следующей таблице перечислены все возможные SQLPermission целевые имена. Таблица предоставляет описание того, что разрешает разрешение, и обсуждение рисков предоставления коду разрешения.
| Имя целевого разрешения | Что разрешает разрешение | Риски предоставления этого разрешения |
|---|---|---|
| setLog | Установка потока ведения журнала | Это опасное разрешение для предоставления. Содержимое журнала может включать имена пользователей и пароли, SQL-запросы и данные SQL. |
| callAbort | Разрешает вызов метода Connection abort
|
Разрешает приложению завершить физическое соединение с базой данных. |
| setSyncFactory | Разрешает вызов методов SyncFactory setJNDIContext и setLogger
|
Разрешает приложению указать контекст JNDI, из которого можно извлечь реализации SyncProvider, и объект ведения журнала, который будет использоваться реализацией SyncProvider. |
| setNetworkTimeout | Разрешает вызов метода Connection setNetworkTimeout
|
Разрешает приложению указать максимальный период ожидания Connection или объектов, созданных из Connection, ответа базы данных на любой запрос. |
| deregisterDriver | Разрешает вызов метода DriverManager deregisterDriver
|
Разрешает приложению удалить драйвер JDBC из списка зарегистрированных драйверов и освободить его ресурсы. |
- С момента:
- 1.3
- См. также:
-
BasicPermission,Permission,Permissions,PermissionCollection,SecurityManager, Сериализованная форма
Конструкторы
| Конструктор и описание |
|---|
SQLPermission(String name) Создает новый объект |
SQLPermission(String name,
String actions) Создает новый объект |
Методы
Методы, унаследованные от класса java.security.BasicPermission
equals, getActions, hashCode, implies, newPermissionCollection
Методы, унаследованные от класса java.security.Permission
checkGuard, getName, toString
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Конструкторы
SQLPermission
public SQLPermission(String name)
Создает новый объект SQLPermission с указанным именем. Имя — символическое имя SQLPermission.
- Параметры:
-
name— имя этого объектаSQLPermission, которое должно быть либоsetLog, либоcallAbort, либоsetSyncFactory, либоderegisterDriver, либоsetNetworkTimeout - Исключения:
-
NullPointerException— еслиnameравноnull. -
IllegalArgumentException— еслиnameпусто.
SQLPermission
public SQLPermission(String name,
String actions)
Создает новый объект SQLPermission с указанным именем. Имя — символическое имя SQLPermission; действия String в настоящее время не используются и должны быть null.
- Параметры:
-
name— имя этого объектаSQLPermission, которое должно быть либоsetLog, либоcallAbort, либоsetSyncFactory, либоderegisterDriver, либоsetNetworkTimeout -
actions— должно бытьnull - Исключения:
-
NullPointerException— еслиnameравноnull. -
IllegalArgumentException— еслиnameпусто.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.