0

社内で使用するイントラネット mvc アプリを作成しています。店の他の男はサーバー技術者だけです。ドメインコントローラーがあり、AD を使用しており、すべてのユーザーがグループに属していると言われています。Windows認証を使用していると確信しています(ワークステーションにログインする必要があることに基づいています.

ユーザーを認証するために、Directory Services の UserPrincipal を使用する必要があるのか​​、HTTPContext の Current.User などを使用する必要があるのか​​ わかりません。特定の AD グループのユーザーのみがアプリを開くことができるようにする必要があります。

明らかに、私はアプリのセキュリティについて何も知りません。どの「テクノロジー」を使用する必要があるかがわかり次第、本を出版する予定です。また、特定のグループに対してユーザーをチェックする必要があります。私はほとんどそれを理解していましたが、それが真実であるべきだと知っているとき、私は間違っています。

        if (HttpContext.Current.User.IsInRole("MyADGroup"))
        {
            IsAdmin = true;   //keeps returning false.
        }

では、何を調べる必要がありますか?

4

2 に答える 2

1

この例は、Active Directory の役割を開始するのに役立ちます。

アプリケーションは社内にあるため、Windows 認証から遠く離れたくないのですが、LDAP を調べることをお勧めします。

LDAP サーバーへの接続

幸運を!

于 2015-01-14T00:37:01.157 に答える
0

ActiveDirectoryMembershipProviderを使用して、AD からユーザーとグループを使用するように内部アプリケーションを接続できます。次に、プロバイダ インスタンスに対して認証するだけです ( Membership.ValidateUser)。これにより、AD をバッキング ストアとして使用できますが、AD への明示的な依存関係からアプリケーションを分離できます。これにより、HttpContext に UserPrincipal も設定されます。

これを標準のログイン フォームで使用することをお勧めしますが、IIS ではサイト全体の Windows 認証を構成できます。標準のログイン フォームを AD に基づく認証と共に使用すると、匿名アクセスを許可することで分離を維持し、サイトの一部を公開ページとして公開することができます。これは、アプリケーションのヘルプや、ログオンしようとしているが許可によって許可されていない、または間違った資格情報を使用している人にとって役立つ可能性のある FAQ などに役立ちます。より優れたユーザー エクスペリエンスも提供します。

于 2015-01-13T23:37:02.287 に答える