Получите информацию о веб-аутентификации с ActiveX - PullRequest
1 голос
/ 13 сентября 2011

На моей работе (Windows / IE) мы входим в один домен (DOM1) и должны использовать сервер Sharepoint в другом (DOM2).

Я собрал комбинацию C # и AutoHotKey для передачи данных из Sharepoint в SAP. Пока все работает нормально, но теперь я сталкиваюсь с проблемой аутентификации в домене SP. Чтобы избежать использования жестко запрограммированного (или защищенного DPAPI) общего имени пользователя / пароля, я хотел бы использовать данные аутентификации из браузера.

У меня мало опыта с ActiveX, но я думаю, что смогу конвертировать в него свою программу, но я не знаю, смогу ли я получить данные аутентификации из IE (и как это сделать).

Если я запускаю ActiveX с веб-страницы, может ли он получить данные аутентификации из сеанса IE? Какой API / интерфейс / функцию нужно использовать?

1 Ответ

1 голос
/ 22 сентября 2011

Если вы создаете экземпляр элемента управления ActiveX на веб-странице, вы можете взаимодействовать между IE и объектом ActiveX.Вы должны поместить объект ActiveX где-нибудь в <body>.Вот как я это делаю:

<object id="OBJID" align="center" classid="clsid:[GUID of ActiveX]" style="z-index:0" codebase="http://yourdomain.com/path/ActiveXName.cab#version=x,x,x,x" height="300" hspace="0" vspce="0" width="250">

Вы должны связать методы ActiveX с методами Javascript, например:

<script language="javascript" event="ActiveXMethod" for="OBJID">LocalJSMethodName();</script>

Когда загружается элемент управления ActiveX, вы можете вызвать проводной метод длявыполнить метод Javascript, который может отправить данные аутентификации (если это сторона браузера) обратно в элемент управления ActiveX.Javascript может обращаться к свойствам ActiveX следующим образом:

Чтобы назначить значения:

document.OBJID.PropName = 'Some Value';

Чтобы получить значения:

var x = document.OBJID.PropName;

Вы должны заметить, что объект ActiveX долженподписать сертификатом для подписи кода или Internet Explorer заблокирует его, и в большинстве случаев вы не сможете переопределить блок и загрузить его ...

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...