Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class SocketPermission extends Permission implements Serializable
host = (hostname | IPv4address | iPv6reference) [:portrange] portrange = portnumber | -portnumber | portnumber-[portnumber]Узел выражается как имя DNS как числовой IP-адрес, или как "localhost" (для локальной машины). Подстановочный знак "*" может быть включен однажды в спецификации узла имени DNS. Если это включается, это должно быть в крайней левой позиции, как в "*.sun.com".
Формат IPv6reference должен следовать, который определил в
ipv6reference = "[" IPv6address "]"Например, можно создать экземпляр SocketPermission как следующее:
String hostAddress = inetaddress.getHostAddress(); if (inetaddress instanceof Inet6Address) { sp = new SocketPermission("[" + hostAddress + "]:" + port, action); } else { sp = new SocketPermission(hostAddress + ":" + port, action); }или
String host = url.getHost(); sp = new SocketPermission(host + ":" + port, action);
Полная несжатая форма адреса литерала IPv6 также допустима.
Порт или portrange являются дополнительными. Спецификация порта формы "N-", где N является номером порта, показывает все порты пронумерованный N и выше, в то время как спецификация формы"-N" указывает на все порты пронумерованный N и ниже.
Возможные способы соединиться с узлом
accept connect listen resolve"Слушать" действие только значимо когда использующийся с "localhost". Действие "решения" подразумевается, когда любое из других действий присутствует. Действие "решение" обращается к host/ip поискам службы имен.
Строка действий преобразовывается в нижний регистр перед обработкой.
Как пример создания и значения SocketPermissions, отметьте что если следующее разрешение:
p1 = new SocketPermission("puffin.eng.sun.com:7777", "connect,accept");предоставляется некоторому коду, он позволяет тому коду соединяться с портом 7777 на
puffin.eng.sun.com
, и принять соединения на том порту. Точно так же, если следующее разрешение:
p2 = new SocketPermission("localhost:1024-", "accept,connect,listen");предоставляется некоторому коду, он позволяет тому коду принимать соединения на, соединяться с, или слушать на любом порту между 1024 и 65535 на локальном узле.
Отметьте: Предоставление, что разрешение кода принимает или делает соединения, чтобы отдалить узлы, может быть опасным, потому что злорадный код может тогда более легко передать и совместно использовать конфиденциальные данные среди сторон, у кого, возможно, иначе нет доступа к данным.
Permissions
, SocketPermission
Конструктор и Описание |
---|
SocketPermission(String host, String action)
Создает новый объект SocketPermission с указанными действиями.
|
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
equals(Object obj)
Проверки два SocketPermission возражают для равенства.
|
Строка |
getActions()
Возвращает каноническое строковое представление действий.
|
int |
hashCode()
Возвращает значение хэш-кода для этого объекта.
|
boolean |
implies(Permission p)
Проверки, если этот объект полномочий сокета "подразумевает" указанное разрешение.
|
PermissionCollection |
newPermissionCollection()
Возвращает новый объект PermissionCollection для того, чтобы хранить объекты SocketPermission.
|
checkGuard, getName, toString
public SocketPermission(String host, String action)
Чтобы определить локальную машину, используйте "localhost" в качестве узла. Также отметьте: пустая Строка узла ("") эквивалентна "localhost".
Параметр действий содержит список разделенных запятой значений действий, предоставленных для указанного узла (и порт (ы)). Возможные действия являются "подключением", "слушают", "принимают", "решают", или любая комбинация тех. "решение" автоматически добавляется, когда любой из других трех определяется.
Примерами инстанцирования SocketPermission является следующее:
nr = new SocketPermission("www.catalog.com", "connect"); nr = new SocketPermission("www.sun.com:80", "connect"); nr = new SocketPermission("*.sun.com", "connect"); nr = new SocketPermission("*.edu", "resolve"); nr = new SocketPermission("204.160.241.0", "connect"); nr = new SocketPermission("localhost:1024-65535", "listen"); nr = new SocketPermission("204.160.241.0:1024-65535", "connect");
host
- имя хоста или IPaddress компьютера, дополнительно включая двоеточие, сопровождаемое портом или диапазоном порта.action
- строка действия.public boolean implies(Permission p)
Более определенно этот метод сначала гарантирует, что все следующее является истиной (и возвращает false, если какой-либо из них не):
implies
проверки каждый из следующих, в порядке, и для каждого возвращает true, если установленное условие является истиной:
implies
возвращает false.implies
в классе Permission
p
- разрешение, чтобы проверить по.public boolean equals(Object obj)
equals
в классе Permission
obj
- объект протестировать на равенство с этим объектом.Object.hashCode()
, HashMap
public int hashCode()
hashCode
в классе Permission
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public String getActions()
getActions
в классе Permission
public PermissionCollection newPermissionCollection()
Объекты SocketPermission должны храниться способом, который позволяет им быть вставленными в набор в любом порядке, но это также включает PermissionCollection implies
метод, который будет реализован в эффективном (и непротиворечивый) способ.
newPermissionCollection
в классе Permission
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.