在asp.net mvc中context.User.Identity.Name的用途是什么?
本文关键字:Name 是什么 Identity User net asp mvc context | 更新日期: 2023-09-27 17:51:05
我目前正在学习asp.net mvc,我刚刚开始,我决定从web表单转移到mvc。
我正在遵循codeplex的mvc音乐商店的这个教程,有这行代码,我不明白它是如何使用的,为什么使用它。
下面是这行代码:if(!string.IsNullOrWhiteSpace(context.User.Identity.Name))
{
context.Session[CartSessionKey] = context.User.Identity.Name;
}
我想知道context.User.Identity.Name做什么,因为我试图删除if块它包含和应用程序仍然工作。
下面是该函数的完整代码: public string GetCartId(HttpContextBase context)
{
if (context.Session[CartSessionKey] == null)
{
if(!string.IsNullOrWhiteSpace(context.User.Identity.Name))
{
context.Session[CartSessionKey] = context.User.Identity.Name;
}
else
{
// Generate a new random GUID using System.Guid class
Guid tempCartId = Guid.NewGuid();
// Send tempCartId back to client as a cookie
context.Session[CartSessionKey] = tempCartId.ToString();
}
}
return context.Session[CartSessionKey].ToString();
}
当您需要身份验证时,它所做的事情与Web Forms中所做的完全相同。一旦用户成功通过身份验证,context.User.Identity.Name
将包含登录用户的用户名。
在您的特定示例中,它只是检查用户是否经过身份验证-尽管您应该检查Request.IsAuthenticated
而不是检查Username是否为空或空白-并将人的Username放在Session[CartSessionKey]
我建议你看看下面的链接:http://support.microsoft.com/kb/301240
在应用程序中实现安全性并学习会员资格提供者,它将使您了解角色和其他对保持应用程序安全非常有用的东西。