私はMVCと共にWCFプロジェクトを作成しました。私は正常に実装することができたユーザーを登録しログインするために、デフォルトのMVCテンプレートinorderのSimpleMembershipデータベースを実装しました。しかし、同じWebSecurity.Login(UserName、Password)メソッドを使用して、同じデータベーステーブル、つまりUserProfiels(UserId、UserName)、webpages_Membership(UserId、Password、PasswordSalt、....)をクエリできませんでした。WebSecurity.Exists(username)がtrueを返している間にWebSecurity.Login(username、password)がfalseを返すのはなぜですか?
public string LoginService(string UserName, string Password)
{
try
{
string answer = null;
if (WebSecurity.UserExists(UserName)) // returns true
{
if(WebSecurity.Login(UserName,Password)) // always return false
{
string role = Roles.GetRolesForUser(UserName).FirstOrDefault();
answer = role;
}
}
return answer;
}
catch (Exception)
{
return null;
}
}
を次のようにMVCプロジェクトでの登録方法は
// Attempt to register the user
try
{
WebSecurity.CreateUserAndAccount(model.UserName, model.Password);
WebSecurity.Login(model.UserName, model.Password);
return RedirectToAction("Index", "Home");
}
catch (MembershipCreateUserException e)
{
ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
}
WebSecurity.Login(ユーザー名、パスワード)としてWCFプロジェクトでの方法は、私がなぜWebSecurity.Login(ユーザ名、パスワードを不思議です)は、ユーザー名とパスワードが存在するUserProfileテーブルとwebpages_Membershipテーブルにデータを入力することはありません。
web.configファイルはdb connectionとWCF Restバインディングのデフォルト設定が完全に更新されているため、更新されていません。
私はここで見てhttps://msdn.microsoft.com/en-us/library/webmatrix.webdata.websecurity.login(v=vs.111).aspxとgoogleで検索したが、満足のいく解決策を見つけることができませんでした。
コードスニペットまたは提案を高く評価します。
は、私はあなたが別のサイトなど、MVCとWCFアプリケーションを実行していることを仮定していること、およびデータベースに表示されてユーザーを見ている