【发布时间】:2015-06-13 19:42:31
【问题描述】:
HttpContext 有一个处理 IPrincipal 类型的 User 属性。 从 MS 的文档中,我知道该属性可能由 Http 模块设置,例如 WindowsAuthenticationModule 或 FormsAuthenticationModule 但是,例如,这是 WindowsAuthenticationModule 的代码:
WindowsPrincipal user = context.User as WindowsPrincipal;
if (user != null) {/* code... */}
有趣的是,如果条件为假(用户为 null 或用户具有其他类型,而不是 WindowsPrincipal)而不是 WindowsAuthenticationModule 返回控制(用于 IIS 的集成模式管道)。 我有以下问题:
在 IIS 对客户端进行身份验证后(作为匿名用户或经过身份验证的用户,正如它所配置的那样),它将向 ASP.NET 传递一个安全令牌。在任何情况下,我们的应用程序都会将此令牌包装在 WindowsIdentity и WindowsPrincipal 对象中。它发生在身份验证模块开始实施之前。 这是真的吗?
如果1为真,HttpContext.User属性最初设置在哪里?
-
如果1为真,当HttpContext.User为空时?我想如果我配置 Web.config 可能是这样:
我说的对吗?
【问题讨论】:
标签: c# asp.net asp.net-mvc authentication