是否有办法实现表单身份验证,但仅适用于特定的URL。例如,我希望formsAuthentication在staging.mydomain.com上保护站点,但如果web.config意外地移动到生产站点,则不希望访问www.mydomain.com。
答案 0 :(得分:1)
这可以实现,但你必须为它实现自己的IHttpModule。 Alas FormsAuthenticationModule是密封的,这意味着您必须从头开始,但Reflector可以在那里提供很好的帮助。
答案 1 :(得分:1)
我们过去曾使用过简单的解决方法。
我们将默认的登录页面设置为匿名用户可以访问的简单页面,我们称之为checkDomain.aspx
在该页面中,我们对域进行快速检查,并根据我们将用户重定向到登台站点中的login.aspx页面或生产站点中的原始请求URL。这不是很好,但是当我们担心这样的事情可能发生时,它很快就很容易实现。
答案 2 :(得分:0)
表单身份验证在网站实例上实现。它不会那样工作。
答案 3 :(得分:0)
您可以在web.config中管理FormsAuthentication的功能。所以,答案就在你的问题中,而@Andrew是对的。
但是,您可以在global.asax中执行某些操作来识别运行该站点的服务器或域并禁用FormsAuthentication。如果域名是www.mydomain.com,也许创建一个可以访问所有内容的用户并在会话开始时手动将FormsAuthenticationTicket设置为该用户。
这有点hackish,我建议用一种带外方式来控制你的web.config。