1

C# を使用して Visual Studio 2010 で Web アプリケーションを作成しました。

2 つの Web ページがあり、Web アプリケーションはドメインに参加しているマシンでホストされていますWATSON

最初の Web ページは基本的にログイン ページです。エンド ユーザーは、ユーザー名とパスワードを入力し、ドメインを選択して [送信] をクリックします。

さて、問題は、次のコードを使用してユーザーを認証しましたが、認証結果をどのように保存すればよいかわかりません。

using(PrincipalContext pc = new PrincipalContext(ContextType.Domain, txtboxDomain.Text))
{
    // validate the credentials
    bool isValid = pc.ValidateCredentials(txtboxUser.Text, txtboxPass.Text);
}

認証結果を Cookie として保存することを考えましたが、エンドユーザーが Cookie 設定を無効にしたり、エンドユーザーが Cookie に何かおかしいことを試みたりするリスクがあります。

また、Web アプリケーションの各 Web ページにログイン ページを配置することもできません。

また、認証に成功したエンド ユーザーを別の aspx ページにリダイレクトすると、エンド ユーザーはその aspx ページをブックマークするだけになる可能性があります。そのため、次回エンド ユーザーはログイン ページに移動せずに aspx ページに直接移動します。そうすれば、エンドユーザーはログインする必要がなくなります。これは、私が望んでいないことです。

では、正しい正当なユーザーのみが別の aspx ページにアクセスできるようにするにはどうすればよいでしょうか?

4

1 に答える 1

0

アプリケーション レベルで Windows 認証を設定する方法について、私の回答の 1 つをご覧ください。

WindowsIdentity とクラシック .Net アプリ プール

また、特定のページへのユーザー アクセスを制限する別のリンクを次に示します。

ログに記録されていない/承認されていないユーザーが ASP.NET で Web ページを表示できないように制限する方法

于 2012-10-05T06:06:57.527 に答える