2012-06-22 8 views
8

MVC 4 RCデフォルトテンプレートを使用してログインを有効にしようとしています。 MVC 3、Aspnet_regsql.exe - > SQL serverと同じようにしました。次に、接続文字列のポイントをSQLサーバーに設定しました。 AccountControllerにMVC 4 RC - Aspnet_regsql.exe

Server Error in '/' Application. 

Invalid column name 'ApplicationId'. 
Invalid column name 'UserName'. 
Invalid column name 'ApplicationId'. 
Invalid column name 'UserId'. 
Invalid column name 'UserName'. 
Invalid column name 'IsAnonymous'. 
Invalid column name 'LastActivityDate'. 

エラー:私は新しいユーザーを登録しようとすると

私はこれを取得、私はこれまでのところ、このエラーが、運をGoogleにしようとしてきた

   Line 85: // Attempt to register the user 
       Line 86: MembershipCreateStatus createStatus; 
Error here -> Line 87: Membership.CreateUser(model.UserName, model.Password, model.Email, passwordQuestion: null, passwordAnswer: null, isApproved: true, providerUserKey: null, status: out createStatus); 
       Line 88: 
       Line 89: if (createStatus == MembershipCreateStatus.Success) 

。 MVC 4でこれを行う必要がある別の方法がありますか?

+0

ソリューションを見つけましたか?私がSQLプロファイラを実行すると、 'DefaultMembershipProvider'によって生成されたSQL文は' aspnet_regsql'( 'aspnet_Applications'の代わりに' Applications'と 'aspnet_Users'の代わりに' Users')とは異なるテーブル名を使用します。 1つの解決方法は、メンバーシップ・プロバイダに合わせてテーブルの名前を変更するか、MVC用のカスタムメンバーシップ・プロバイダを作成することです。 –

答えて

10

aspnet_regsql.exeバージョン2.xのメンバーシップテーブルを使用していたため、同じエラーが発生しました。私はaspnet_regsql.exeをバージョン2.xフォルダで実行して、テーブルをアンインストールしました。新しい汎用プロバイダーでは、上記の実行可能ファイルをもう使用する必要はありません。初めて接続するときにテーブルが作成されます。

この記事では、以前のaspnet_MemembershipとUniversal Providersの違いについて詳しく説明します。記事から

Stronger Password Hasing Net

キーポイント:まず

、そここれ以上はaspnet_regsql、あなたは自分の接続文字列が設定されていることを確認しますと、アカウントは持っていDBO権(ありませんこのようにしておく必要はありません)、アプリケーションを実行して、メンバーシッププロバイダがDBにアクセスするようなアクションを実行しようとします(つまり、ログオンしてください - アカウントがない)。

それはすべてそれにあります。

+0

"まず、aspnet_regsqlはなく、接続文字列が設定されていることを確認するだけです..."そしてすべてが完璧に機能しました:)もうregsqlツールはありません!ありがとうございました:) – judehall

+0

新しいSystem.Web.Providersフレームワークのaspnet_regsql.exeに相当する問題は、dbスキーマを作成して管理者のユーザーとロールを持つシードメンバーシップを作成できないことですパブリックユーザーの登録を許可する前。私はMvcInstaller(NuGetとgithub)をビルドし、aspnet_regsql.exeを使用して管理者のメンバシップシステムをインストールします。これにより、新しいシステムのコンポーネントを更新することはできません。それはイライラしている。 – Kahanu

関連する問題