0

私は少しハイブリッドな状況に陥っています。イントラネット asp.net Web アプリを作成しています。本格的な Windows 認証を使用したくありません。Active Directory に適切なグループが設定されていないため、ユーザーが属しているグループに基づいてユーザーを認証できるからです。これまでは、メンバーシップ データベースを作成していました。 、NT ログインに基づいてユーザーを手動で認証していました。アプリはますます複雑になり、メンバーシップ プロバイダーとロール プロバイダーを使用してユーザーを認証することを検討しています。これが私の問題です。NT だけに基づいてユーザーを認証できるようにしたいのですが、Windows 認証を使用したくありません。独自のプロバイダーを作成して、メンバーシップ プロバイダーとロール プロバイダーにプラグインし、フォーム認証を使用して透過的にしたいと考えています。ユーザー テーブルに基づいて、NTだけに基づいてユーザーを認証またはリダイレクトできるようにしたい。これは可能ですか、それともこれを達成するために自分の小さなフレームワークを書いているのですか? 可能であれば、プロバイダー フレームワークを利用したいと考えています。

4

1 に答える 1

7

フォーム認証を使用するように web.config を設定します。
IIS で統合認証がオンになっていることを確認します (匿名も無効にする必要がある場合があります)。これにより、ユーザーの NT 名を取得できます。

ユーザーの NT 名は次のように取得できます。

  Request.ServerVariables["LOGON_USER"]  

次の方法で、パスワードを必要とせずにユーザーをログインできます。

  FormsAuthentication.RedirectFromLoginPage( userName, false ); 
于 2008-10-13T20:18:01.660 に答える