Встроенный элемент управления FLEX Размещено в JBOSS. Как использовать базовую аутентификацию Http с тегами «embed» или «object»? - PullRequest
0 голосов
/ 29 марта 2010

Таким образом, у нас есть три элемента управления FLEX, размещенные в экземпляре сервера JBOSS, и приложение IIS (MVC), на котором есть страницы с тегами объекта (и встраивания) для отображения элементов управления. Мы хотим настроить базовую аутентификацию HTTP на сервере jboss, на котором размещены другие сервисы (Solr, некоторые пользовательские веб-сервисы и тика), и выяснили, как передавать учетные данные.

Как вы можете отправить эти базовые учетные данные для аутентификации http гибкому элементу управления в тегах object / embed ??

1 Ответ

1 голос
/ 30 марта 2010

Имейте в виду, что эта опция очень небезопасна, поскольку простой просмотр исходного кода HTML покажет учетные данные пользователя.

Первый шаг

Если вам нужно передать учетные данные (demouser / demouser) в элемент управления Flash, объявленный внутри тегов object / embed во время разработки, вы можете изменить раздел noscript и несколько других мест, где вы передаете flash-переменные, используя JavaScript в html-template / index.template.html файл внутри проекта Flex Builder -

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
            id="${application}" width="${width}" height="${height}"
            codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
            <param name="movie" value="${swf}.swf" />
            <param name="quality" value="high" />
            <param name="bgcolor" value="${bgcolor}" />
            <param name="allowScriptAccess" value="sameDomain" />
            <param name="http_user" value="demouser" />
                    <param name="http_password" value="demouser" />
            <embed src="${swf}.swf" quality="high" bgcolor="${bgcolor}"
                width="${width}" height="${height}" name="${application}" align="middle"
                play="true"
                loop="false"
                quality="high"
                allowScriptAccess="sameDomain"
                type="application/x-shockwave-flash"
                flashVars="http_user=demouser&http_password=demouser"
                pluginspage="http://www.adobe.com/go/getflashplayer">
            </embed>
    </object>

При развертывании вам потребуется обернуть сгенерированный файл оболочки HTML (обычно в папке bin-debug / на странице JSP и использовать скриптлеты или теги JSTL для записи учетных данных для каждого пользователя). ). Так, например,

flashVars="http_user=demouser&http_password=demouser"

станет

flashVars="http_user=<%=username%>&http_password=<%=password%>"

Второй шаг

В своем коде Flex получите имя пользователя и пароль с помощью:

import mx.core.Application;

var username:String = Application.application.parameters["http_user"];
var password:String = Application.application.parameters["http_password"];
...