1

まず、IIS7に統合Windows認証を使用する方法を知っています。これは、ActiveDirectoryユーザーがコンピューターにログオンしていることを確認するのに最適です。

ただし、Novell認証済みユーザーのユーザー名を取得する必要があります。パスワードやユーザー名以外のものは必要ありません。

その他の制限:

  • ユーザーのコンピューターに何もインストールできません
  • Webサーバーにインストールできます
  • WebサーバーとNovellサーバー間の信頼を設定できます
  • 匿名アクセスのある公開Webサイトに掲載される予定です。認証が必要なセクションを作成して、そこからユーザーを取得することができます。
  • WebサイトはC#.Net2.0です。
  • メソッドがパスワードも提供できる場合は、それを使用して、Novellでユーザーを完全に検証できます。その部分(Novell Server LDAPとの通信)はすでに完了しています。
  • IE6およびIE7で動作する必要があります

(更新)Novell Webサイトでは、シングルサインオンに関する唯一の情報は、Novellに誰かをログオンさせる方法を示しており、結論として次のようになっています。

ユーザーがフォームごとに認証する必要がないように、グローバル変数内にクレデンシャルを保存する方法(他の方法があります)(シングルサインオン)。

(更新)Novellからも、 SSOソリューションがあると言われています。ただし、コンテンツの日付は2000年であり、のコンテンツでは、Novellサーバーにプラグインをインストールし、ユーザーあたり49ドルを支払う必要があります。したがって、それは有効な解決策ではありません。

4

1 に答える 1

1

あなたは、ユーザーのコンピュータに何もインストールできないと言っていますが、PC 上の Novell クライアントの一部として関与している可能性のある、使用できる ActiveX コントロールが既に存在することに気付くかもしれません。

私は過去に、ActiveX コントロールを使用してログオンしているユーザーを識別し、それを Web サーバーに渡し、LDAP を使用して完全なユーザー レコードをロードしました。

過去に NWDir1 と呼ばれるものを使用しました。次の構文を使用しました (サーバー側言語として ColdFusion を使用しますが、翻訳できると確信しています)。

   <cfoutput>
    <object classid="CLSID:4F021AE3-9E98-11D0-A808-00C04FDCD94A"id="NWDir1" width=32 height=32></object>
    <script language="VBScript">
    Dim vbuser
    Sub Window_OnLoad()
     On Error Resume next
     vbuser = NWDir1.LoginName
     vbuser = StrReverse(vbuser)
     initInd = InStr(vbuser, Chr(92))
     if initInd <> 0 Then
      vbuser = Left(vbuser, initInd-1) 
      vbuser = StrReverse(vbuser)
     End if
     // REDIRECTION
     document.location.href = "index.cfm?userid=" + vbuser
     Exit sub
    End Sub 
    </script>
    <cfabort> 
   </cfoutput>

これは、vbscript を使用して、novell のログイン ユーザーを提供する ActiveX クライアントを制御します。この値 (vbuser) は、index.cfm に戻されて処理されます。

この手法は明らかに URL ハッキングの影響を受けやすいですが、この手法を使用してから 4 年以上が経ちましたが、私はそれが起こっていることに気づいていません。

これは Novell サイトで最初に見つけたものだと確信しています。そのサイトで NWDir1 または classid を検索してみてください。

これが役立つことを願っています

于 2009-05-14T04:55:56.927 に答える