2011-09-13 21 views
1

私の仕事(Windows/IE)では、特定のドメイン(DOM1)にログインし、もう1つ(DOM2)でSharepointサーバーを使用する必要があります。ActiveXでウェブ認証情報を取得

私はSharepointからSAPにデータを渡すために、C#とAutoHotKeyの組み合わせをまとめました。これまでのところうまくいきましたが、今はSPドメインでの認証の問題に直面しています。ハードコードされた(またはDPAPIで保護された)共通のユーザー名/パスワードを避けるために、ブラウザから認証データを使用したいと考えています。

私はActiveXの経験はほとんどありませんが、自分のプログラムをそれに変換できますが、IEから認証データを取得できるかどうかはわかりません。

WebページからActiveXを起動した場合、IEセッションから認証データを取得できますか?どのAPI /インターフェース/機能を使用する必要がありますか?

答えて

1

Webページで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"> 

あなたはこのように、JavaScriptのメソッドへのActiveXメソッドを配線する必要があります。

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

すると、ActiveXコントロールが読み込まれると、あなたはJavascriptの方法を実行するために、有線メソッドを呼び出すことができますこれは認証データ(ブラウザ側の場合)をActiveXコントロールにプッシュバックすることができます。値を取得するには

document.OBJID.PropName = 'Some Value'; 

:値を割り当てるには

:JavascriptがこのようなActiveXプロパティにアクセスすることができます

var x = document.OBJID.PropName; 

あなたはActiveXオブジェクトがコード署名で署名されなければならないことに注意すべきです証明書またはInternet Explorerがブロックし、ほとんどの時間ブロックを上書きして読み込むオプションが表示されません。

これは役に立ちます。

+0

解決策は、使用するためにユーザーとパスワードを入れなければならないjavascript変数を追加する必要があることを意味しますか?私が望むのは、IEから直接ユーザー/パスワード情報に直接アクセスすることです。私は企業のSPと仕事をしており、そのような機密情報を追加することはできません(認証手続きを超えて利用できる場合でも)。 – SJuan76

+0

とにかく、私はおそらく後であなたのポストのためにいくつかの使用を持っているのでupvoted。 – SJuan76

関連する問題