|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
стервочка (я мужик)
|
Цитата:
|
|
|||||
.
|
allowDomain прекрасно отработал. Попробуйте из лоадера обратиться к какому-нибудь методу или свойству загружаемой флешки не разрешая allowDomain(). Мук еще говорит о BitmapData#draw(), но я тут несколько тушуюсь, потому что draw() относится к разрешению распространителя (crossdomain.xml), сам не проверял. Обратиться к методу класса или к методам экземпляра - разные вещи. Класс находится в ApplicationDomain некоторого SecurityDomain'а. Если он виден по getDefinitionByName - он находится там же, где расположен класс инстанцированного объекта, в методе которого был вызван getDefinitionByName. И если в текущем аппдомене нет такого класса (Loader), то и вызвать его метод вы не сможете. Однако можно было сделать getDefinition аппдомена loader'а и забрать оттуда этот класс и вызвать его метод.
UPD. BloodHound опередил. |
|
|||||
Modus ponens
|
BlooDHounD:
я проверю, но по-моему получить appdomain загрузчика в загружаемой флешке не дадут. Но если это работает, то все равно не понятно почему нужно только через рефлекшн обращаться, теряется типизация, да и вообще просто не удобно.
__________________
Hell is the possibility of sanity |
|
|||||
.
|
Цитата:
И таки allowDomain тут правда, не при чем ) Последний раз редактировалось dimarik; 21.06.2010 в 22:34. |
|
|||||
Modus ponens
|
Какие конфликты классов? - их всего один есть, и не должно / не может быть больше. Еще раз, я не могу грузить в текущий домейн по ряду других причин, этот вопрос как бы вообще не обсуждается. Мне не нужно загрузить контент в один и тот же домейн (если так делать, то проблем с безопасностью в принципе быть не должно), мне нужно установить доверительные отношения между двумя разными домейнами, и при этом хочется работать не используя рефлекшн. (appDomain.getDefintition().foo() - это работа через рефлекшн, наличие foo() не гарантировано / не возможно проверить на этапе компиляции).
__________________
Hell is the possibility of sanity |
|
|||||
.
|
Цитата:
Да, allowDomain устанавливает разрешение обращаться из другого доменах безопасности. И allowDomain никаким боком не завязан с ApplicationDomain. Лоадер ты дергал из совершенно другого ApplicationDomain, в котором его не было. |
|
|||||
Modus ponens
|
А вас как зовут? (Ц) Райкин.
Ну так и как тогда обрарится к статическому методу в другом домейне не используя рефлекшн? И почему Security.allowDomain не позволяет это сделать? Есть какие-то логические предпосылки почему это должно быть невозможно? Кстати, не позволяет плеер обращаться к другому домейну не смотря на Security.allowDomain() ни в загрузчике ни в загружаемом файле. Error #2044: Unhandled SecurityErrorEvent:. text=Error #2048: Security sandbox violation: http://loading.tld/loading.swf cannot load data from http://loaded.tld/loaded.swf. // Loaded Security.allowDomain("http://loading.tld"); super.parent.parent.loaderInfo.applicationDomain.getDefinition("tld.wvxvw.bugs.Loading");
__________________
Hell is the possibility of sanity |
Часовой пояс GMT +4, время: 03:59. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|