3

私は小さなデータベースを持っていますが、たった5つのテーブルしかありません。フォーム認証を使用したいのですが、独自のデータベースを作成して処理を行います。派手なものは必要ありませんし、インフラストラクチャを追加する必要もありませんが、フォーム認証が提供するセキュリティが必要です。ログインとパスワードのフィールドを持つ人物テーブルがあります。フォームがこれらのフィールドを使用してユーザー ID を返すようにするにはどうすればよいですか? これはフォームでも可能ですか?そうでない場合、フォームがデータベースにインフラストラクチャを作成して、テーブルをフォームが機能する必要があるテーブルとマージできるようにするにはどうすればよいですか?

これはおそらく非常に単純であることはわかっていますが、何時間もの調査の結果、ネット上で何も見つかりませんでした。

4

3 に答える 3

3

実際、ここでの回答が、フォーム認証を ASP.Net メンバーシップまたはそのための ASP.Net インフラストラクチャ (プロバイダーなど) と共に使用する必要があることを意味する理由がわかりません。

確かに、フォーム認証を使用せずにフォーム認証を使用し、既存のユーザー テーブル (ASP.Net メンバーシップやプロバイダーとは関係ありません) を使用できます。

これはMSDNから取得されます。

<script runat="server">
  void Logon_Click(object sender, EventArgs e)
  {
    if ((UserEmail.Text == "jchen@contoso.com") && 
        (UserPass.Text == "37Yj*99Ps"))
      {
          FormsAuthentication.RedirectFromLoginPage 
             (UserEmail.Text, Persist.Checked);
      }
    else
      {
          Msg.Text = "Invalid credentials. Please try again.";
      }
  }
</script>

上記は (過度に) 単純化されていますが、コードを db ルックアップ クエリに置き換えることができる場所を確認できます....

更新: リンクを修正 (MSDN を指すように修正)

于 2012-04-22T05:39:47.350 に答える
1

独自のテーブルを使用する場合は、独自の MembershipProvider を実装する必要があります。これにより、独自のテーブルとストアド プロシージャを使用できますが、フォーム認証構造にフックすることもできます。

于 2012-04-22T02:59:19.407 に答える
-1

お探しのツールは aspnet_regsql です: http://msdn.microsoft.com/en-us/library/ms229862.aspx

そして、これは私のものよりも包括的な答えです: https://stackoverflow.com/a/4030700/44372

于 2012-04-22T02:36:54.447 に答える