C# MVC5登录用户电子邮件

C# MVC5登录用户电子邮件,c#,asp.net-mvc,asp.net-membership,google-login,C#,Asp.net Mvc,Asp.net Membership,Google Login,我已将我的Asp.Net MVC 5应用程序配置为使用外部登录(我不打算使用本地登录)。 为了获取登录用户的电子邮件地址,我正在这样做 Membership.GetUser().Email 但那是投掷 Host 'xxx' is not allowed to connect to this MySQL server 我能够很好地连接到数据库。登录、注销、获取其他数据。 这也行 User.Identity.GetUserName() 只有在使用会员资料时,系统才会崩溃 此处配置的Connec

我已将我的Asp.Net MVC 5应用程序配置为使用外部登录(我不打算使用本地登录)。
为了获取登录用户的电子邮件地址,我正在这样做

Membership.GetUser().Email
但那是投掷

Host 'xxx' is not allowed to connect to this MySQL server
我能够很好地连接到数据库。登录、注销、获取其他数据。 这也行

User.Identity.GetUserName()
只有在使用会员资料时,系统才会崩溃

此处配置的ConnectionString在web.config中不存在。不知道它是如何运作的

<membership defaultProvider="MySQLMembershipProvider">
            <providers>
                <remove name="MySQLMembershipProvider" />
                <add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.9.6.0, Culture=neutral, PublicKeyToken=xxx" connectionStringName="LocalMySqlServer" ... />
            </providers>
        </membership>

如果我将连接字符串更新为现有的有效EF字符串,它会抱怨它不支持关键字元数据

电子邮件地址显示在
aspnetusers
表中。我确信我可以通过调用数据库手动获取它,但我想知道Asp.Net是否已经为我完成了这项工作

你可以这样做

var user = UserManager.FindById(User.Identity.GetUserId());
user
将包含用户的电子邮件地址