MVC5登录用户邮箱

时间:2015-07-08 11:46:03

标签: 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()

只有在使用会员资料时系统才会爆炸。

此处配置的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表格中。我确信我可以通过调用db手动获取它,但我想知道Asp.Net是否已经为我做了这个。

1 个答案:

答案 0 :(得分:0)

你可以这样做,

var user = UserManager.FindById(User.Identity.GetUserId());

user将包含用户的电子邮件地址。