RWe*_*ndi -3 asp.net asp.net-mvc asp.net-mvc-3
根据我的问题.这会为匿名用户生成相同的用户名吗?
编辑:抱歉这个令人困惑的问题.我想要找出的是,如果User.Identity.Name是获取当前登录用户的用户名的可靠方法.试图避免使用Membership.GetUser().用户名为GetUser()可能会为匿名用户返回null.
我不确定Generate是最好的词.我假设你的意思是返回相同的数据.
答案并不总是如此.
User.Identity是一个IIdentity实例(通常是GenericIdentity或WindowsIdentity).
Membership.Getuser()将返回MembershipUser的实例.
这两种机制都可以定制,技术上可以返回完全不同的信息.
已更新为编辑
首先,这个问题开始听起来像一个XY问题.我强烈建议您告诉我们您实际想要解决的问题.
虽然Membership.GetUser()应该为匿名用户返回null,但User.Identity.Name通常返回string.Empty匿名用户,这在技术上也是正确的.
通常推荐的方法是执行以下操作:(直接从ASP.Net MVC 3模板启动器中获取)
@if(Request.IsAuthenticated)
{
<text>Welcome <b>@Context.User.Identity.Name</b>!
[ @Html.ActionLink("Log Off", "LogOff", "Account") ]</text>
}
else
{
@:[ @Html.ActionLink("Log On", "LogOn", "Account") ]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
216 次 |
| 最近记录: |