0

有没有办法实现表单身份验证,但仅限于特定的 URL。例如,如果 web.config 意外移动到生产站点,我希望 formsAuthentication 保护 staging.mydomain.com 上的站点,但不妨碍对 www.mydomain.com 的访问。

4

4 回答 4

1

这可以实现,但您必须为它实现自己的 IHttpModule。唉 FormsAuthenticationModule 是密封的,这意味着您必须从头开始,但Reflector可以提供很大的帮助。

于 2008-11-13T07:03:32.940 回答
1

我们过去使用过一个简单的解决方法。

我们将默认登录页面设置为匿名用户可以访问的简单页面,我们称之为 checkDomain.aspx

在该页面中,我们对域进行快速检查,并基于此将用户重定向到登台站点中的 login.aspx 页面,或生产站点中的原始请求 url。这并不漂亮,但是当我们担心会发生类似的事情时,它在短时间内实现起来又快又容易。

于 2008-12-05T20:00:45.867 回答
0

Forms auth 在网站实例上实现。它不会那样工作。

于 2008-09-17T17:01:41.057 回答
0

您可以在 web.config 中管理 FormsAuthentication 的功能。所以,答案就在你的问题中,@Andrew 是对的。

但是,您也许可以在 global.asax 中做一些事情来识别站点正在运行的服务器或域并禁用 FormsAuthentication。如果域是 www.mydomain.com,也许创建一个可以访问所有内容的用户并在会话开始时手动为该用户设置 FormsAuthenticationTicket。

这有点骇人听闻,我建议想出一种带外方式来控制您的 web.config。

于 2008-09-17T17:20:58.107 回答