2011-12-20 13 views
2

私のテストサイトでログインとセキュリティの仕組みを検討しています。現在の状況は、次のされていますメンバーシップ(+役割)VSセッション状態VSフォーム認証

  • をデータベース内のテーブルがあり、3列(名前、パスワード、アクセス権を区別するための番号)
  • 成功したログイン後、アクセス権を割り当てると、セッションが名前で、作成されます
  • ユーザーとアクセス権の管理者は、いくつかのロジックがセッションに
  • 管理者を確認することで、どこで、特定のページとログインしていないユーザーへのユーザーのみが歓迎すると、ログインページ
  • すべてのページは、マスターページから継承され、どこでもアクセス権を持っていますユーザ固有のページには制御メカがあります私も会員とロールマネージャでこれを行う試みた

nismしかしasp.netによって生成されたデータベースは、非常に大きな混乱(すべての内のテーブルやレコードの大多数で、セッション中に現在のユーザーのアクセス権を決定します表)。私は上記のようにメンバーシップとロールをどのように設定するか分かりません(単純なテーブルを意味し、自分のログインコントロールを使用します)。

メンバーシップとロールの利点(ログインユーザー数、コードの削減、ページ/ブラウザの終了時の自動ログオフ、自動セッション管理など)がいくつかあります。

フォーム認証についても考えていましたが、セッションやメンバーシップのような柔軟性があれば、わかりません。

答えて

0

Roleマネージャは、多くの利点があります。 ただし、既定のメンバーシップと役割のプロバイダーによって生成されたデータでは、十分ではありません。

独自のデータソースまたはカスタムロジックが必要な場合は、custom membership, role providers and/or a custom membership userを作成できます。

0

あなたがやってみたいことはすべて、メンバーシッププロバイダですでにカバーされています。これは非常に使いやすいものです。あなたが過度に複雑で習慣的なものを必要としない場合は、あなたがやりたいことを正確に行うようにメンバーシップ・プロバイダーを再度見直すことを真剣に提案し、試してテストしました。それのために車輪を再発明しないでください。

は良い詳細に全部をカバーするこれらの記事を見てみましょう:

Mebershipを使用して

Examining ASP.NET's Membership, Roles, and Profile

+0

ただし、このような単純なデータベースでメンバーシップおよびロールプロバイダを使用することはできますか? – polohy

+0

@polohy - カスタムメンバーシップまたはロールプロバイダを作成することで可能です。私のポストのリンクを見てください。 – TheBoyan

関連する問題