C# 当使用不同的连接字符串时,C MVC4无法使用google登录

C# 当使用不同的连接字符串时,C MVC4无法使用google登录,c#,asp.net-mvc,asp.net-mvc-4,oauth,google-authentication,C#,Asp.net Mvc,Asp.net Mvc 4,Oauth,Google Authentication,我有一个奇怪的外部谷歌认证问题。基本上,我使用的代码与默认MVC4互联网应用程序生成的代码几乎相同。 在我本地的机器上一切都很好。我可以用谷歌帐号登录 但当我将connectrion字符串更改为web上的外部数据库时,以下代码: OAuthWebSecurity.Login(result.Provider, result.ProviderUserId, createPersistentCookie: false) 返回FALSE,因此它不会登录,我不知道原因。 当我使用相同的扩展连接字符串在w

我有一个奇怪的外部谷歌认证问题。基本上,我使用的代码与默认MVC4互联网应用程序生成的代码几乎相同。 在我本地的机器上一切都很好。我可以用谷歌帐号登录

但当我将connectrion字符串更改为web上的外部数据库时,以下代码:

OAuthWebSecurity.Login(result.Provider, result.ProviderUserId, createPersistentCookie: false)
返回FALSE,因此它不会登录,我不知道原因。 当我使用相同的扩展连接字符串在web上发布整个网站时,也会发生同样的情况,这似乎会在我的本地机器上产生问题

工作版本和非工作版本之间的唯一区别是web.config中的连接字符串不同

有人遇到过同样的问题吗

编辑

我没有提到。另一个连接字符串工作正常。它从数据库中获取所有数据,但不知怎的,google身份验证失败了。它只是不登录。数据库模式和数据与我的本地数据库相同,我甚至用数据生成了sql脚本,并应用于外部数据库 我想登录的用户也在这个外部数据库中

那么发生了什么: OAuthWebSecurity.Login返回false,因此我自动希望注册新用户,但随后该用户已在数据库中找到,并且我得到的信息类似于该用户已存在于数据库中


非常奇怪。

您是否使用CreateOrUpdateAccount方法在外部数据库中创建了用户?可能您没有将任何用户与您正在使用的Google凭据关联

登录过程按以下步骤进行:

嘿,谷歌,告诉我谁登录了。 谷歌告诉你一些用户ID X OAuthWebSecurity要求您的会员资格提供商提供具有GoogleUserId X的用户 如果存在这样一个用户,它会让他登录,如果没有,登录就会失败。。。
您更改了连接字符串,应用程序中断。为什么这是奥厄斯的错?您的日志中有错误吗?应用程序的其余部分是否使用该连接字符串工作?您的应用程序是否可以访问该数据库?很抱歉,出现了错误。另一个连接字符串可以工作,因为我从数据库文章、条目、帖子中获取了所有数据。但不知何故,我很难用唯一更改的连接字符串登录google。感谢您提供此列表:很遗憾,我复制了我表中的所有数据,但没有复制自动生成的成员资格表中的数据。从我的用户表中删除一条记录导致再次自动注册,这一次也是由于分配了他丢失的googleUserId。。。这解决了问题。但你的清单第3点提醒我,我必须在某个地方有谷歌用户ID。非常感谢。