C# 添加到User.Identity其他属性 目标
向C# 添加到User.Identity其他属性 目标,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,向User.Identity添加类似User.Identity.PermissionLevel的属性 问题 我不知道从哪里开始。有人能给我一些想法吗 情景 正如我所说,我想扩展Identity的PermissionLevel属性。我经常使用这个属性,我不希望执行SQL操作仅仅是为了获得经过身份验证的用户的权限,原因很明显(性能、冗余等) 知识 User.Identity.Name已经填充了用户输入的用于向应用程序进行身份验证的电子邮件 奖金问题 如果我想在应用程序中更改User.Identity
User.Identity
添加类似User.Identity.PermissionLevel
的属性
问题
我不知道从哪里开始。有人能给我一些想法吗
情景
正如我所说,我想扩展Identity
的PermissionLevel
属性。我经常使用这个属性,我不希望执行SQL操作仅仅是为了获得经过身份验证的用户的权限,原因很明显(性能、冗余等)
知识
User.Identity.Name
已经填充了用户输入的用于向应用程序进行身份验证的电子邮件
奖金问题
如果我想在应用程序中更改
User.Identity.Name
,该怎么办?我的意思是,如果在一个特殊的时刻,我想将User.Identity.Name
从电子邮件更改为用户名呢?您应该检查ASP.NET成员资格和配置文件提供商。下面是一个详细说明的示例
User.Identity.Name将具有用户在身份验证时输入的任何内容(电子邮件或用户名,具体取决于您的代码)。您可以尝试扩展IdentityProvider,以实现您自己的身份验证,而不是ASP.NetLook中的默认实现,以使用角色,它们内置于身份验证/授权系统中。您不应该缓存安全决策。(包括“PermissionLevel”和角色。)这些可能会在用户登录时更改,并应立即生效。@zimdanen我该怎么办?@GuilherModerdenge:您应该为每个请求重新获得角色/权限。