これは Web フォーム アプリケーション プロジェクト (WAP) です。プログラムでカスタム プロファイルプロパティを使用してユーザーを作成していますが、ユーザー データがユーザー テーブルに保持されていることを確認できますが、aspnet_membership テーブルやメンバーシップ テーブルには保持されていません。カスタム登録フォームを使用して新しいユーザーを作成すると、ログインに失敗します。誰でもトラブルシューティングのチェックリストを提案できますか?
MembershipCreateStatus status = MembershipCreateStatus.Success;
MembershipUser newUser
= Membership.CreateUser(userNameTxt.Text.Trim(), passwordTxt.Text,
emailTxt.Text, questionTxt.Text, answerTxt.Text, true, out status);
Roles.AddUserToRole(userNameTxt.Text.Trim(), "Member");
// Gather and save Profile info
CustomProfile profile = CustomProfile.GetProfile(userNameTxt.Text.Trim());
profile.Personal.Email = emailTxt.Text.Trim();
profile.Personal.FirstName = firstNameTxt.Text.Trim();
profile.Personal.LastName = lastNameTxt.Text.Trim();
profile.Save();
エラー メッセージ:ログインに失敗しました。もう一度やり直してください。
何が起きているか: CreateUser が null を返す
<providers>
<remove name="DefaultMembershipProvider"/>
<add
name="DefaultMembershipProvider"
type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
connectionStringName="LocalSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="false"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="1000"
passwordFormat="Hashed"
applicationName="/" />
</providers>
<remove name="LocalSqlServer" />
<add name="LocalSqlServer"
connectionString="Initial Catalog=MYDB;Data Source=WIN2K8;Integrated Security=SSPI;"
providerName="System.Data.SqlClient" />
<remove name="MYDBConn" />
<add name="MYDBConn" connectionString="Initial Catalog=MYDB;Data Source=WIN2K8;Integrated Security=SSPI;"
providerName="System.Data.SqlClient" />