3

Windows 認証は IIS7 で動作していますが、SQL サーバーにあるデータに基づいて特定のユーザーを拒否したいと考えています。

情報アクセス拒否を送信できることはわかっていますが、Windowsログインフォームをユーザーに送信して別の資格情報を入力して、IISが新しい資格情報を認証し、それをc#に送信してユーザーを再度承認できるようにしたいと考えています。

編集 - 質問を言い換える

Windows 認証とデータベース データに基づく認証の両方を使用したいと考えています。まず、ユーザーを Windows 認証で認証してから、アプリケーションでユーザーを認証します。しかし、私の質問は、アプリケーションがユーザーを拒否した場合、Windows認証ダイアログボックスをユーザーに表示して、Windows資格情報を最初から開始することです。

4

2 に答える 2

0

データベースからの情報を使用して認証する場合は、フォーム認証を使用する必要があります。実行する必要がある手順は次のとおりです。

  • ログイン Web ページ (この例では login.aspx) を作成します。
  • これを web.config に入れて、ログイン ページを指定し、最初にすべてのユーザーのアクセスを拒否します。

コード:

<authentication mode="Forms">
  <!-- Login.aspx is the login page forms authentication should use. -->
  <forms loginUrl="Login.aspx" name=".ASPXFORMSAUTH" timeout="30" slidingExpiration="true" >
  </forms>
</authentication>
<authorization>
  <!-- deny all users access to ressources of this app, if not logged in. -->
  <deny users="?" />
</authorization>
  • ログインページのコードビハインドで、これを呼び出してユーザーが通過できるようにします。

コード:

FormsAuthentication.SetAuthCookie("UserName", False)
于 2013-08-06T12:34:45.383 に答える