ASP.Net保护我的页面没有表单身份验证

时间:2009-08-13 15:52:35

标签: c# asp.net asp.net-membership

我有一个具有表单身份验证的Web应用程序,但其中一个页面必须通过第三方应用程序访问。此第三方应用程序使用查询字符串参数发送其请求,并返回数据。此页面已设置,因此表单身份验证不适用于它。

如果有人发现第三方应用正在使用的网址(他们很有可能发生这种情况)并且他们将其放入浏览器中,我不希望这些数据可用。

这怎么可能?

2 个答案:

答案 0 :(得分:1)

嗯,取决于你在做什么,有一些事情。

  1. 如果第三方应用程序将始终使用相同的IP进行呼叫,您可以根据请求IP进行限制,但不能100%防范
  2. 如果您担心人们窃取链接,请不要通过查询字符串传递身份验证,因为他们已经完成了所有设置
  3. 如果第三方可以通过请求传递凭据,则可能会在IIS级别实施基本身份验证
  4. 已添加明细

    根据您的要求,以下是有关如何设置基本身份验证的链接。 Basic IIS Authentication

    在你的情况下这应该很好。

答案 1 :(得分:0)

我不知道这是否适用于您所描述的情况,但您可能会尝试调用

MembershipUser User = Membership.GetUser();

在相关页面的Page_Load方法中,检查是否返回了有效用户。这可能不是一个完美的解决方案,因为它只会阻止经过身份验证的用户。

允许用户查找此页面链接的情况是什么?另外,您是否可以控制第三方应用程序发送请求的方式?