Класс 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
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
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, 2021, 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/17/docs/api/java.sql/java/sql/SQLPermission.html