2

私の問題は次のとおりです。作成中の Web サイトがあり、フォーム認証を使用したいと考えています。ユーザーをデータベースに保存する可能性を追加したことを除いて、すべてが問題なく完璧です。Visual Studio (作成したもの) の AppData フォルダーにデータベースを追加しました。しかし、ユーザーが (私の Web サイトで) 新しいアカウントを作成しようとするたびに、次のようなエラーが表示されます (デバッグ中):

ユーザー 'DOMAIN\username' のログインに失敗しました

私の接続文字列は次のとおりです。

<connectionStrings>
    <add name="SecurityConnectionString" 
         connectionString="Data Source=(computername)\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Security.mdf;Integrated Security=True;User Instance=true" 
         providerName="System.Data.SqlClient" />
</connectionStrings>

奇妙なことに、Windows ログインで問題なく SQL Management Studio に接続できます。(SQLで)新しいユーザーを作成してそれらの資格情報を使用しようとしましたが、まだ運がありません(ユーザーにdb_owner権限を与えたにもかかわらず、ユーザーが新しいデータベースを作成できないというエラーが発生します)。任意の洞察をいただければ幸いです。前もって感謝します。

具体的には、これは私が得るエラーです

[SqlException (0x80131904): Login failed for user 'DOMAIN\username'.]

アップデート:

私は何かを見つけました。SQL Server Management Studio で「Windows 認証」を「SQL Server 認証」に変更すると、正しいパスワードとユーザー名を使用してもログインできません。これが(おそらく)私が信じる問題の原因かもしれません。

4

2 に答える 2

1

解決策を見つけました。(SQL Server 認証で) 新しいユーザーを作成し、SQL を介して Windows 認証資格情報を使用してそのユーザーに管理者権限を追加する必要がありました。つまり、ユーザーを作成し、そのユーザーに管理者権限を与えました。これは簡単に思えますが、私が遭遇した問題は次のとおりです。

私の理解では、SQL データベース (使用する認証モードに関係なく) にアクセスでき、そのデータベースに対する管理者権限があれば、好きなことを行うことができます。ただし、SQL Server 認証を使用しているときに 'DOMAIN\username' 資格情報が認証されていないため、そうではないようです。つまり、管理者権限がありませんでした。

とにかく、新しいユーザーを作成し、接続文字列を変更した後、データベースに書き込み/読み取り/何でもできるようになりました。

この問題に関する皆さんの助けに感謝します。ありがとうございました。

于 2012-10-18T18:57:13.837 に答える
0

接続文字列(computername)には、localhostまたはコンピューターの名前が何であれ。(computername)現在、この投稿のプレース ホルダーとして使用している場合を除きます。

于 2012-10-17T21:00:31.903 に答える