如何将User.Identity.Name中的值设置为用户的真实姓名?

时间:2012-03-19 14:29:39

标签: asp.net-mvc-3

我的用户使用我的自定义成员资格提供程序使用电子邮件地址和密码登录。有没有办法让User.Identity.Name(或其他内容)返回用户的真实姓名,而不是他们的用户名(或我的情况下的电子邮件地址),同时保留电子邮件地址,以便仍然可以使用?如果这不是我想做的好方法,你建议做什么呢?

我认为“Welcome Mike Wills”看起来比“Welcome bigdaddy124@mydomain.com”更好。

3 个答案:

答案 0 :(得分:2)

您可以将用户的配置文件对象(或名称)添加到Session变量,这样您就不必为每个页面加载查询数据库。

答案 1 :(得分:1)

这里最好的方法是实现自定义原则,以便字段可用,不要试图“滥用”现有字段。只需将IPrinciple用法转换为您的主要类,并引用FullName字段(或您称之为的任何字段)

Implementing IPrincipal and IIdentity in MVC with use of custom membership and role provider

答案 2 :(得分:0)

单独的“用户”数据库表,用于存储与“成员资格”表格相关的个人信息....

这样可以使您的身份验证和授权数据与自定义用户数据分开(但链接到)。使管理恕我直言更容易。