jam*_*o00 9 c# asp.net asp.net-membership
Page.User.Identity和Request.LogonUserIdentity之间有什么区别(幕后)?不是类型,名称等的差异,而是它们在幕后实现的差异(即一个调用windows xxx api,另一个调用asp.net xxx api ...).
Zha*_*uid 19
这取决于您用于对用户进行身份验证的机制,以及您用于模拟的设置.
例如,在VS开发服务器下,使用Forms身份验证,标准SQL成员资格提供程序和以下代码:
// m_LoggedIn is a Literal control on the page:
m_LoggedIn.Text = string.Format("<br />Page.User.Identity: {0} " +
"<br />Request.LogonUserIdentity: {1}",
Page.User.Identity.Name,
Request.LogonUserIdentity.Name);
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
Page.User.Identity:zhaph
Request.LogonUserIdentity:[ComputerName]\Ben
第一行(Page.User.Identity)是我登录到站点的表单身份验证帐户,第二行是请求运行的Windows身份 - 因为我没有启用模拟,这是我的Windows登录因为这是运行Web服务器的帐户.
在API的方面,HttpRequest.LogonUserIdentity被调用到的WindowsIdentity类,它将始终代表Windows用户帐户,而Page.User正在创造一个实现IPrinciple一个对象,它允许您使用许多不同的后盾来表示用户stores - 例如MembershipProvider提供的SQL数据库结构.
| 归档时间: |
|
| 查看次数: |
9686 次 |
| 最近记录: |