MVC5获取登录用户邮箱

本文关键字:用户 登录 获取 MVC5 | 更新日期: 2023-09-27 18:01:48

我已经配置了我的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已经为我做到了这一点。

MVC5获取登录用户邮箱

你可以这样做,

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

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