2

認証にSQL Serverアカウントを使用するMVCアプリケーションを作成しています。そのためにMembershipProviderRoleProviderPrincipalProviderを使用します(ここには、MVC3 - Authenticate with SQL Server Accounts)。SQL Serverアカウントで作業する(2005年と2008年)

私の質問は、SQL ServerアカウントでC#経由で認証するにはどうしたらいいですか?私はどこから始めるべきか、どれほど複雑であるか(MVC3と一緒に)わからない。誰かが例を挙げることができますか?

ありがとうございます。

答えて

2

ASP.NETアプリケーションとデータベースとのやり取りは、データベースのログイン/ユーザーを経由します。本当に何も(研究サーバーのアクセス許可here)を行うことができ、基本的なログインです

create login YourWebLogin with password = '[email protected]' 
go 

:SQL Server上で次のようなログインを作成します。そして、あなたはそうのように、このログインのオフSQL Serverユーザーを作成したい:

use YourASPNETDb 
go 

create user YourWebUser for login YourWebLogin 
go 

は今、あなたは、SQL Serverログインのコンテキストによって、SQL Serverユーザーと YourASPNETDbにアクセスするためのセキュリティコンテキストを持っています。 (リサーチデータベースの権限 here

あなたのASP.NET MVCアプリケーションはあなたのログイン/ユーザーを介してデータベースにアクセスし、この接続情報は接続文字列に格納されます。これは典型的なSQL Serverの接続文字列です:

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword; 

あなたのメンバーシップ/ロールプロバイダは、データベースへのアクセスを得るためにあなたの正しい資格情報を使用して、この接続文字列を使用します。

これは、すべての機能がどのように連携しているかを示す高度なビューです。いくつかの動く部分がありますが、これはあなたを始めるはずです。

+0

こんにちは、私はいくつかの情報を忘れてしまった。 SQLアカウントはすでに存在しています(私はそれらのいずれかを作成または削除する必要はありません)。そのすべてには "完全な権利"があります。彼らの権利は、ログインしているSQLユーザに応じてデータベーステーブルで管理されます。これが可能なら、私は知らないのですか? – Sleepwalker

+0

@Sleepwalkerログイン/ユーザーが十分な権限で既に作成されていて、ログインの資格情報を知っていれば、私の投稿のように接続文字列を構築して使用するだけです。 –

+0

それは良い点です。しかし、どのように私は異なるユーザーのための動的接続文字列を作成できますか?次に、資格情報が機能しているかどうかを確認するにはどうすればよいですか? – Sleepwalker

関連する問題