【问题标题】:IIS http request authentication issueIIS http 请求身份验证问题
【发布时间】:2009-09-13 14:48:14
【问题描述】:

我正在使用 VSTS 2008 + C# + .Net 3.5 + IIS 7.0 + ASP.Net。我有两个 IIS 网站,站点 A 和站点 B。当用户请求 url http://sitea/abc.aspx 时,我的 ASP.Net 代码处理程序将对用户进行身份验证(使用表单身份验证),如果身份验证通过,我会将用户重定向到 http://siteb/bcd.aspx

我目前的问题是,有些用户会直接访问http://siteb/bcd.aspx,跳过sitea的认证过程。这不是我想要的,因为我想确保所有访问http://siteb/bcd.aspx 的用户都经过身份验证。

我的问题是,当用户直接访问 siteb 以跳过身份验证时,解决此问题的简单解决方案是什么?

【问题讨论】:

    标签: c# asp.net .net iis visual-studio-2008


    【解决方案1】:

    我对此的看法......

    • 禁止匿名访问这两个网站
    • 由于您使用的是表单身份验证,因此请适当设置 loginurl。
    • 如果用户直接访问http://sitseb/bcd.aspx,由于不允许匿名访问,它将被重定向到相应的登录 URL。

    如果您需要任何进一步的说明,请告诉我。

    这里提供了一个类似的解决方案..

    Multiple site authentication with asp.net

    注意:如果需要,表单身份验证 cookie 域应设置为“*.yourdomain.com”,以便两个站点可以使用相同的 cookie。

    【讨论】:

    • 感谢 Rajesh,我认为您的解决方案有效。我说我正在使用 Forms 身份验证,更准确地说,我对 sitea 使用 Forms 身份验证,而不是 siteb,抱歉我对我的问题的错误描述。 :-) siteb 是一个遗留系统,我希望尽可能减少代码更改。不知道在siteb上使用Forms认证会不会涉及太多代码改动?
    • “siteb”使用什么样的认证?
    • 目前,siteb 尚未使用任何身份验证。匿名访问。
    • 您可以通过最少的代码更改来实现表单身份验证。在这种情况下,最好的方法是在 web.config 中“启用表单身份验证”并将“siteb”的登录 URL 设置为“sitea”的登录 URL。
    • 您所说的实质是表单身份验证(您的身份验证逻辑驻留在单独的 dll 中)?只要设置 asp.net 主体对象的任何机制都在使用表单身份验证。所以,你已经可以走了,我想:)
    【解决方案2】:

    在siteb你可以限制访问sitea的IP地址。

    在 IIS 管理器中

    单击目录安全或文件安全选项卡,然后执行以下操作之一:

    在 IP 地址和域名限制部分,点击编辑。

    单击授予访问权限或拒绝访问权限。当您选择拒绝访问时,您将拒绝对所有计算机和域的访问,但您明确授予访问权限的计算机和域除外。当您选择授予访问权限时,您将授予对所有计算机和域的访问权限,但您明确拒绝访问的计算机和域除外。

    单击添加,然后单击单台计算机。

    单击 DNS 查找按名称搜索计算机或域,而不是按 IP 地址。

    键入计算机的 DNS 名称。 IIS 在当前域中搜索计算机,如果找到,则在 IP 地址框中输入其 IP 地址。

    【讨论】:

    • 嗨,彼得,我认为您的解决方案不适合我。由于当普通用户访问sitea进行身份验证时,我将用户重定向到siteb。我认为 IP 地址应该是客户端(最终用户)的计算机地址,而不是 sitea'a 地址。因此,您限制 siteb 地址以仅允许 sitea 访问的解决方案不起作用。如果我错了,请纠正我。谢谢!
    • 后续对 siteB 的请求将如何工作?第一个请求,通过身份验证将来自siteA作为重定向,但后续请求将来自客户端的IP,不是吗?
    • 嗨彼得,场景是,第 1 步:用户访问 sitea 以获取内容列表,第 2 步:用户被 sitea 要求进行身份验证,第 3 步:用户由 sitea 进行身份验证,并且 sitea 将用户重定向到 siteb ,第4步:用户从重定向访问siteb。所以,我认为当用户通过身份验证并访问siteb时,用户应该使用客户端计算机的IP地址而不是sitea的地址,对吗?
    猜你喜欢
    • 2017-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多