2011-12-23 3 views
0

新しいSilverlight 5.0ビジネスアプリケーションを作成すると、認証と承認コードが自動的に生成されます。すべてのユーザー情報と役割は、デフォルトでaspnetdb mdfファイルに保存されています。私の質問は以下のとおりです。ASP.NETでのユーザー承認の処理

  1. は、あなたのビジネスに関連するデータとは別のデータベースにユーザー認証/認証データを保つために、通常の慣行である、または私は私のメインのデータベースにテーブルをコピーする必要がありますか?現在の実装ではApplicationIdフィールドが含まれていることがわかります。つまり、さまざまなアプリケーションのデータを格納できるということですか?たぶん、すべてのWebアプリケーション用のWebサーバー上に共通のデータベースがあります(推測するだけです)? :)

  2. 私はこれらの2つのデータベース間のデータを関連付ける方法を、別のデータベースにユーザーの情報を保持することになっている場合は?つまり、一部のテーブル(ビジネスルール)でUserIdが参照されていますか?私のビジネスデータはID PKを使用しており、aspnetdbはUniqueIdentifierを使用していますが、これは問題ですか?

  3. ユーザーがサイトに登録し

    は、どのように我々はそれ生産の役割を割り当てていますか? Visual StudioにはASP.NET構成ツールがありますが、運用環境はどうですか?これはWebプロジェクトでコード化する必要がありますか?

  4. アプリケーションは常に認証が必要な場合には、ユーザーの承認/認証を処理するためのベストプラクティスは何ですか?

答えて

2

あなたは、生産のアプリケーションでdefautのASP.NET認証の実装を使用しないでください:それは箱から出して動作しますので、それは、ローカルデータベース(MDFファイル)を使用しています。しかし、あなたは、このソリューションによって限定されるものではない。

  • あなたはより良いあなたの既存のデータに統合することができ、あなたの本当のデータベースを使用するASP.NET認証(および役割)プロバイダを設定できます。完全なプロセスをよりよく理解するには、http://msdn.microsoft.com/en-us/library/6e9y4s5t.aspxとリンク先のページを参照してください。 ASP.NETは、データベース内のすべての必要なテーブルを単独で生成することができます。

  • 自分でデフォルトの認証メカニズムをオーバーライドすることができます。この場合、WebアプリケーションプロジェクトでServices/AuthenticationService.csを編集するだけで済みます。 AuthenticationServiceクラスはAuthenticationBaseを継承していますので、あなた自身で実装された非常に多くのメンバーシップメソッドをオーバーライドできます。

関連する問題