Класс 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 — нет.
В следующей таблице перечислены все возможные имена цели разрешения. Таблица предоставляет описание того, что разрешение позволяет, и обсуждение рисков предоставления коду разрешения.
| Имя цели разрешения | Что позволяет разрешение | Риски предоставления этого разрешения |
|---|---|---|
| setLog | Установка потока регистрации | Это опасное разрешение для предоставления. Содержимое журнала может содержать имена пользователей и пароли, SQL-запросы и SQL-данные. |
| callAbort | Позволяет вызов метода Connection abort
| Разрешает приложению прервать физическое соединение с базой данных. |
| setSyncFactory | Позволяет вызов методов SyncFactory setJNDIContext и setLogger
| Позволяет приложению указать контекст JNDI, из которого можно получить реализации SyncProvider, и объект регистрации, используемый реализацией SyncProvider. |
| setNetworkTimeout | Позволяет вызов метода Connection setNetworkTimeout
| Позволяет приложению указать максимальный срок ожидания ответа базы данных от любого одного запроса или объектов, созданных из Connection |
| deregisterDriver | Позволяет вызов метода DriverManager deregisterDriver
| Позволяет приложению удалить драйвер JDBC из списка зарегистрированных драйверов и освободить его ресурсы. |
- С:
- 1.3
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SQLPermission |
Создаёт новый объект SQLPermission с указанным именем. |
SQLPermission |
Создаёт новый объект SQLPermission с указанным именем. |
Краткое описание методов
Методы, объявленные в классе java.security.BasicPermission
equals, getActions, hashCode, implies, newPermissionCollection
Методы, объявленные в классе java.security.Permission
checkGuard, getName, toString
Подробное описание конструкторов
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, 2023, 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.
https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLPermission.html