【发布时间】:2009-08-25 03:11:42
【问题描述】:
我正在开发一个网站,该网站同时具有 Intranet 和 Internet 部署。两者之间的唯一区别是几个配置设置。
互联网版本运行良好,因为它只使用表单身份验证(在其网络配置中定义),如果未登录,用户将被定向到登录页面。
Intranet 版本有点棘手...当用户第一次访问该站点时,使用 WindowsPrincipal 正确设置了 http 上下文原则对象,但使用该信息我确认允许用户访问应用程序,然后我创建我自己的 IPrinciple 实例。
鉴于此,我想在这里做几件事...我想使用 WindowsPrincipal 对象作为对用户进行身份验证的基础,但从那时起使用表单身份验证(即使用 cookie 来存储身份验证详细信息等)。我还需要我从 HTTP 上下文中检索到的原则的实例是我的 IPrinciple 类型。
我最好怎么做?就像我应该查看 global.asax 的 Session_Start 来执行身份验证逻辑,然后以某种方式让它存储我的自定义 IPrinciple(因此对于此后的任何请求,实例都是我的自定义原则)或者我最好使用 Application_AuthenticateRequest 做一些事情.
干杯 安东尼
【问题讨论】:
标签: .net asp.net forms-authentication windows-authentication