2012-02-13 14 views
1

3種類のユーザーを持つアプリケーションを開発しようと考えています。ログインすると、タイプ1,2,3のいずれかになります。ユーザータイプ1が必要ですタイプ2とタイプ3のアカウントを作成します。ウェブアプリケーション用の3種類のユーザー

ロールを使用してこれを行う最善の方法はありますか?もし誰かが私を助けてくれる記事に私を導くことができるのであれば、私は現在、設定された量のアカウントを持ち、システムにログインさせる方法を試してみるのに困っています。そのタイプのアカウントができるようにデータベースにアクセスし、変更するだけです。

答えて

2

あなたのアプリは組み込みのメンバーシップとロールプロバイダを使用するのに適しているようです。組み込みプロバイダを使用することで、ホイールの再構築を省くことができます。以下のページからのリンクをチェックアウト:

ASP.NET 2.0 Membership and Roles Tutorial Series

1
  • ユーザーテーブルにユーザータイプの列を追加します。
  • 各ユーザーがログインするときに、ユーザーの詳細をセッションに保存します。
  • UserTypeの値を確認し、 ユーザーアカウントの編集/作成へのリンクを表示/非表示にします。

もっと幅広く柔軟に対応したい場合は、役割テーブル、権限テーブル、および各役割のアクセス許可を格納するテーブルを作成できます。役割をユーザーに関連付けることができます。

1

ASP.netで組み込みのメンバーシップを使用する必要があります。すでにセキュリティ上の考慮事項のすべてを踏襲しており、すぐに使えます。ここでは、asp.netサイトのメンバーシップに関するチュートリアルがあります。 .NETは、メンバーシップに組み込まれているとユーザとロール(および他の原料の束)のサポートが組み込まれて

http://www.asp.net/web-forms/tutorials/security/membership/creating-the-membership-schema-in-sql-server-cs

は、あなたは非常に強力なメンバーシップを実施することができるであろう。

+0

ありがとう、ロールとメンバーシップの違いは何ですか? – rx432

+0

ロールはメンバーシップの一部です。基本レベルにはユーザーがあり、各ユーザーは1つまたは複数の役割に属します。 –

1

これに対する最良の方法は、ロールプロバイダは、(明らかに)の役割を担当ASP.Net

のために準備ができて、プロバイダのフレームワークを使用することです。あなたはRoleProviderから派生させ、独自のを行うことができます。

http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.aspx

をまたはSQL Serverに基づいて既製のものを使用するのと同じユーザー(MembershipPrioviderhttp://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspxを参照)

のために行く

http://msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx

イントラネットアプリケーション用のActive Directoryベースのものもあります。

次に、あなたは彼らがしている役割に基づいて、アプリケーション内のページへのアクセスを制限することができます。たとえば、あなたはASP.Net MVCを使用している場合、あなたには、いくつかの詳細については、AuthorizeAttributeクラス を使用することができます。

+0

詳細な応答をありがとう、ASP.NET MVCはこのタイプのアプリケーションに最も適していると思いますか? – rx432

+0

さて、アプリケーションの詳細をあまり詳しく指定していないのですが、MVCが非常にクリーンでシンプルなフレームワークであることがわかりました。免責事項:私はMVCなしでASP.Net Webアプリをやったことはありません! –