Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我想知道为什么WebSecurity.Login(用户名、密码)返回false,而WebSecurity.Exists(用户名)返回true_C#_Wcf_Asp.net Membership - Fatal编程技术网

C# 我想知道为什么WebSecurity.Login(用户名、密码)返回false,而WebSecurity.Exists(用户名)返回true

C# 我想知道为什么WebSecurity.Login(用户名、密码)返回false,而WebSecurity.Exists(用户名)返回true,c#,wcf,asp.net-membership,C#,Wcf,Asp.net Membership,我已经和MVC一起创建了WCF项目。我已经实现了默认MVC模板的SimpleMembership数据库,以便注册和登录我能够成功实现的用户。但是,我无法使用相同的WebSecurity.Login(用户名、密码)方法查询相同的数据库表,即UserProfiels(UserId、UserName)、webpages_成员资格(UserId、PasswordSalt等) MVC项目中的注册方法如下 // Attempt to register the user try

我已经和MVC一起创建了WCF项目。我已经实现了默认MVC模板的SimpleMembership数据库,以便注册和登录我能够成功实现的用户。但是,我无法使用相同的WebSecurity.Login(用户名、密码)方法查询相同的数据库表,即UserProfiels(UserId、UserName)、webpages_成员资格(UserId、PasswordSalt等)

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));
            }
WCF项目中的登录(用户名、密码)方法如下

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;
        }
    }
我想知道为什么WebSecurity.Login(用户名、密码)从不填充用户名和相应密码所在的UserProfile和webpages\u成员表

我还没有更新任何web.config文件,因为它有db连接和WCF Rest绑定的默认设置,可以完美地工作

我看了一下这里,在谷歌上搜索了一下,但没有找到满意的解决方案

非常感谢任何代码片段或建议


谢谢

我假设您正在将MVC和WCF应用程序作为单独的站点运行,并且您看到了数据库中出现的用户

默认情况下,如果您不更改任何其他内容,ASP.NET将为每个站点生成一个不同的应用程序名(请参阅),用户将按应用程序进行分区-这可能就是您无法与用户一起登录WCF站点的原因

国家:

该方法验证用户配置文件表中是否存在该用户。但是,它不会验证该用户是否存在成员帐户

看起来配置文件的分区方式不同

如果在成员资格配置中设置ApplicationName,则可以在两个应用程序上使用相同的数据库和登录