2012-02-01 18 views
0

クライアント用の内部データベースを構築しました。そのC#はMS-SQLのDBを使っています。私はASP WebサイトSQL Serverと内部SQL Serverを統合して、1つのデータベースを使用しました。ウェブサイトと内部データベースの両方が機能しています。内部データベース - ユーザー作成時のASP.NET自動Webサイト登録

内部データベースでクライアントになった後、自動的にクライアントを登録してウェブページを使用できるようにしたいと考えています。 ASPを使用して(私はまだ学んでいる)私はメンバーシッププロバイダがあるとそれはすべての検証などを行うようだ。パスワードはすべて処理され、暗号化されます。

SQLテーブルにユーザーを追加するのにセキュリティを維持するにはどうすればよいでしょうか?クライアントを追加するときにDBクライアントにメンバーシップ・プロバイダを作成し、それを使用してWebページへのクライアント・ログインを作成できますか?

私はVS 2010でデフォルトのASP .NET Webアプリケーションテンプレートを使用しています.ASPサイトはすべてテンプレートの標準設定です。

ありがとうございます!

答えて

1

メンバーシッププロバイダのメソッドを呼び出す必要があります。メンバーシップ・プロバイダの仕組みの詳細には触れないでください。プロバイダー・モデルの全ポイントは、他の実装のためにデフォルトのSQLをスワップできるということです。

MembershipProviderベースクラス(http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.aspx)を参照すると、提供されるメソッドの一覧が表示されます。カスタム登録プロセスの一環としてMembership.CreateUser()に電話する必要があります。これにはいくつかのオーバーロードがあります。

+0

はい私は、例としてChris Pelsを使用してMembership.CreateUserを呼び出し、ストアドプロシージャを呼び出してデータベースにユーザーを作成することに同意します。私は、SQLリンクテーブルを作成し、内部データベースのクライアントと一致するようにIDを設定することを考えています。たとえば、私のテーブルは[Client ID] [UserID]のように見えますが、正しいログインのために私のウェブサイトの情報を表示することができます。 –

+0

デフォルトメンバーシッププロバイダのデフォルトのパスワード暗号化形式は何ですか?私はそこに塩を見るが、それ以上はある?ありがとう! –

+0

Chris Pelsの初期化メソッド(最上部付近)を見ると、configの値を調べる行があり、configから値を取得できない場合はHashed形式を使用しています。すべてのデフォルト値がそこに設定されますが、他のものもあります。かなり醜い!一番下にあるEncodePasswordメソッドは、暗号化の仕組みを知りたい場合に実際に起こる場所です。 – RichardW1001

0

デフォルトのSQL Configとストアドプロシージャを見ると、これらを使用できます。

thisを参照してください。

Chris Pelsのサンプルコードは、このソリューションを手助けするのに優れています。クリスおかげで!

関連する問題