Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.Net在没有表单身份验证的情况下保护我的页面_C#_Asp.net_Asp.net Membership - Fatal编程技术网

C# ASP.Net在没有表单身份验证的情况下保护我的页面

C# ASP.Net在没有表单身份验证的情况下保护我的页面,c#,asp.net,asp.net-membership,C#,Asp.net,Asp.net Membership,我有一个具有表单身份验证的web应用程序,但是其中一个页面必须通过第三方应用程序访问。此第三方应用程序使用querystring参数发送其请求,并返回数据。此页面已设置,因此表单身份验证不适用于它 如果有人发现第三方应用程序正在使用的URL(他们的URL很有可能发生这种情况),并将其放入浏览器中,我不希望这些数据可用 这怎么可能呢?好吧,这取决于你在那里做的事情 如果第三方应用程序总是从同一IP进行调用,您可以根据请求IP进行限制,但不能100%防误 如果您担心有人窃取链接,请不要通过query

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

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


这怎么可能呢?

好吧,这取决于你在那里做的事情

  • 如果第三方应用程序总是从同一IP进行调用,您可以根据请求IP进行限制,但不能100%防误
  • 如果您担心有人窃取链接,请不要通过querystring进行身份验证,因为这样他们就可以设置所有内容
  • 如果第三方可以通过其请求传递凭据,那么可以考虑在IIS级别实现基本身份验证
  • 补充细节

    根据您的请求,这里有一个关于如何设置基本身份验证的链接


    这在你的情况下应该很有效。

    我不知道这是否适用于你描述的情况,但你可以试着打电话

    MembershipUser User = Membership.GetUser();
    
    在您的页面中,为相关页面加载方法,并检查是否返回了有效用户。不过,这可能不是一个完美的解决方案,因为它只会阻止经过身份验证的用户


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

    1。第三方并不总是来自同一IP 2。querystring中不使用身份验证,但会发送返回数据的参数。3.您有任何信息可以设置此设置吗?谢谢,但第三方应用程序请求是静默的,有点像web服务,因此不能使用弹出框提示他们。他们可以使其静默,他们只需在请求中传递凭据。他们无法通过HTTP Post发送凭据,查询是唯一的选择他们怎么发送邮件?这是可以做到的,我一直都在做。