1

Active Directoryを介して、イントラネットサイトのセキュリティを次のように設定しています。

まず、部門ごとにセキュリティグループがあります(販売、経理など)。

次に、NTチャレンジ/レスポンスを介してログオンするイントラネットサイト用のADセキュリティグループがあります。この目的のために、そのグループを「イントラネットユーザー」と呼びましょう。

イントラネットユーザーの下に、イントラネットの使用を許可されている部門を追加しました。

したがって、ADにはイントラネットユーザーがいて、グループのメンバーは営業と経理です。

従来のASPで行う必要があるのは、イントラネットユーザーの下のグループに対してユーザーを認証することです。

他の場所で使用していた古いコードをいくつか掘り起こしましたが、それを機能させることができません。このトピックのGoogle-fuがひどい場合を除いて(明確な可能性)、従来のASPでこれを行うための適切なドキュメントを見つけることができません。

このコードはグループを取得しますが、グループではなくユーザーである場合にのみ、グループ内のオブジェクトを列挙します。

bAuthUser = False
Set objGroup = GetObject("WinNT://DOMAIN/Intranet Users")
For Each objMember In objGroup.Members
    If objMember.Class = "User" Then
          If objMember.Name = Request.ServerVariables("AUTH_USER") Then bAuthUser = True
    End If
Next

上記のコードは、セキュリティグループに実際のユーザーがいるが、グループにユーザーがなく、他のセキュリティグループだけである場合に機能します。

私がする必要があるのは、「イントラネットユーザー」のグループをループしてから、各グループのユーザーをループして認証することです。

私はここで正しい方向に進んでいますか、それとも完全にずれていますか?

前もって感謝します。

4

2 に答える 2

1

これは、探している機能によって異なります。

目標が「誰でもこのサイトにアクセスできるが、イントラネットユーザーの場合は、この追加機能を利用できる」である場合、現在のパスは正しいです。

「イントラネットユーザーのみが私のサイトにアクセスできる」とだけ言いたい場合は、IISの文書化されていない機能を利用できます。フォルダセキュリティオプションに移動し、ACLから汎用アカウントを削除してイントラネットユーザーグループをACLに追加すると、認証されたユーザーがイントラネットユーザーにいない場合、IISは403例外をスローします。

于 2012-06-04T17:23:22.050 に答える
1

LDAPパスに基づいてオブジェクトを検索できますが、この質問のように、この記事が良い出発点のように見える前に、ASPでこれを行ったことはありません。

于 2012-06-04T22:45:30.667 に答える