質問

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

役に立ちましたか?

解決

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

次の方法でユーザーのNT名を取得できます。

  Request.ServerVariables["LOGON_USER"]  

次を使用して、パスワードを入力せずにユーザーをログインできます。

  FormsAuthentication.RedirectFromLoginPage( userName, false ); 
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top