2011-09-13 3 views
1

내 직업 (Windows/IE)에서 특정 도메인 (DOM1)에 로그인하고 다른 도메인 (DOM2)에서 Sharepoint 서버를 사용해야합니다.ActiveX를 사용하여 웹 인증 정보 얻기

Sharepoint에서 SAP로 데이터를 전달하기 위해 C#과 AutoHotKey를 혼합했습니다. 지금까지는 정상적으로 작동하지만 이제는 SP 도메인에서 인증하는 문제에 직면하고 있습니다. 하드 코딩 된 (또는 DPAPI로 보호되는) 일반 사용자 이름/암호를 피하기 위해 브라우저에서 인증 데이터를 사용하려고합니다.

ActiveX에 대한 경험이 거의 없지만 프로그램을 변환 할 수 있다고 생각합니다. 그러나 IE에서 인증 데이터를 가져올 수 있는지 여부는 알 수 없습니다.

웹 페이지에서 ActiveX를 실행하면 IE 세션에서 인증 데이터를 가져올 수 있습니까? 어떤 API/인터페이스/기능을 사용해야합니까?

답변

1

웹 페이지에서 ActiveX 컨트롤을 인스턴스화하면 IE와 ActiveX 개체를 상호 작용할 수 있습니다. <body> 어딘가에 ActiveX 개체를 배치해야합니다. 여기 내가 어떻게 :

<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"> 

당신은 다음과 같이 자바 스크립트 방법에 액티브 방법를 연결해야합니다

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

ActiveX 컨트롤로드, 당신은 자바 스크립트 방법을 실행하는 유선 메소드를 호출 할 때 인증 데이터 (브라우저 측인 경우)를 다시 ActiveX 컨트롤로 보낼 수 있습니다. 자바 스크립트는 다음과 같이 액티브 X의 속성에 액세스 할 수 있습니다 :

document.OBJID.PropName = 'Some Value'; 

검색하려면 값 :

값을 지정하려면

var x = document.OBJID.PropName; 

당신은 ActiveX 객체는 코드 서명에 서명해야 함을주의해야한다 인증서 또는 인터넷 익스플로러가이를 차단하고 대부분의 시간은 블록을 오버라이드하고로드하는 옵션을 제공하지 않습니다.

이 정보가 도움이되기를 바랍니다.

+0

당신이 솔루션을 사용하려면 사용자와 암호를 넣어야하는 javascript 변수를 추가해야한다는 의미입니까? 내가 원하는 것은 IE에서 직접 사용자/암호 정보에 직접 액세스하는 것입니다. 나는 기업 SP와 함께 일하고 그들은 중요한 정보를 추가하는 것을 허락하지 않을 것입니다 (그것이 인증 절차를 넘어서 가능할지라도). – SJuan76

+0

어쨌든, 나는 아마도 당신의 게시물에 대해 나중에 사용할 것이기 때문에 upvoted. – SJuan76