Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 如何将User.Identity.Name中的值设置为User';什么是真名?_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc 3 如何将User.Identity.Name中的值设置为User';什么是真名?

Asp.net mvc 3 如何将User.Identity.Name中的值设置为User';什么是真名?,asp.net-mvc-3,Asp.net Mvc 3,我的用户使用电子邮件地址登录,他们的密码使用我的自定义成员资格提供商。有没有办法让User.Identity.Name(或其中的其他内容)在保留电子邮件地址的同时返回用户的真实姓名而不是用户名(或电子邮件地址),以便仍可使用?如果这不是做我想做的事情的好方法,你建议做什么 我觉得“欢迎迈克·威尔斯”看起来比“欢迎”要好bigdaddy124@mydomain.com“一个单独的“用户”数据库表,用于存储与成员资格表相关的个人信息 这样,您的身份验证和授权数据就可以与自定义用户数据分离(但链接到自

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

我觉得“欢迎迈克·威尔斯”看起来比“欢迎”要好bigdaddy124@mydomain.com“

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

这样,您的身份验证和授权数据就可以与自定义用户数据分离(但链接到自定义用户数据)。更易于管理IMHO。

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


这样,您的身份验证和授权数据就可以与自定义用户数据分离(但链接到自定义用户数据)。使管理IMHO变得更容易。

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

您可以将用户的配置文件对象(或名称)添加到
会话
变量中,因此,您不必为每个页面负载查询数据库。

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


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


有比使用会话对象更好的体系结构替代方案(如果您还没有),这里没有强类型。您无法使用魔法字符串,必须注意表单身份验证超时和会话超时不能同步。@AdamTuliper我认为处理缓存变量生存期的帮助器类可以正确完成整个工作。我看不出这个设计有什么问题。它不是强类型的。如果您有一个读取会话的helper类,为什么不将它存储在IPrinciple中的当前用户信息中,而不是魔法字符串、会话超时与表单身份验证超时问题(大多数人不知道这个问题,但即使超时设置完全相同,它也肯定会影响您),等etc@AdamTuliper-MSFT有一个
IPrincipal
的实现,为
IsInRole(字符串角色)
抛出一个
NotImplementedException
(因为我不想使用它,有人说过“神奇字符串”?),这也不是一个理想的情况。@Stijn从两个缺点中取较小的一个。会话对象锁定并阻止序列化的ajax请求(实际上,在第一个请求完成之前,会阻止该用户使用会话对象的任何新请求,这可能会降低性能)以及上述原因(表单身份验证和会话超时需要特殊的解决方法来同步它们-大多数人也不知道这个问题)强类型问题等。有比使用会话对象更好的体系结构替代方案(如果您还没有),这里没有强类型。您无法使用魔法字符串,必须注意表单身份验证超时和会话超时不能同步。@AdamTuliper我认为处理缓存变量生存期的帮助器类可以正确完成整个工作。我看不出这个设计有什么问题。它不是强类型的。如果您有一个读取会话的helper类,为什么不将它存储在IPrinciple中的当前用户信息中,而不是魔法字符串、会话超时与表单身份验证超时问题(大多数人不知道这个问题,但即使超时设置完全相同,它也肯定会影响您),等etc@AdamTuliper-MSFT有一个
IPrincipal
的实现,为
IsInRole(字符串角色)
抛出一个
NotImplementedException
(因为我不想使用它,有人说过“神奇字符串”?),这也不是一个理想的情况。@Stijn从两个缺点中取较小的一个。会话对象锁定并阻止序列化的ajax请求(实际上,在第一个请求完成之前,会阻止该用户使用会话对象的任何新请求,这可能会降低性能)以及上述原因(表单身份验证和会话超时需要特殊的解决方法来同步它们-大多数人也不知道这个问题)强类型问题等。