ASP.Net Security - 通过第三方请求参数对测试用户进行身份验证

时间:2009-08-13 13:11:58

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

我有一个不理想的应用程序,没有深入了解这就是所需要的。

第三方应用需要向将返回数据的页面发出请求。因为我启用了表单身份验证,所以此请求始终会被发送到登录页面。因此我设置它以便所有用户都可以看到这个页面,即使他们没有登录。我想在页面加载或类似工作中做的是检查第三方应用程序可以发送的查询字符串参数并根据FormsAuthentication验证它。

当这个第三方应用程序发出请求时,用户已经登录,所以我想知道我是否可以针对当前登录用户检查某些内容以查看它是否与第三方请求相匹配?

我还需要做的是将登录用户的信息发送到第三方应用程序,以便在发出请求时与登录用户匹配。

1 个答案:

答案 0 :(得分:0)

我可能会为此获得投票,但无论如何我都会回答,因为如果我的一位同事问我这个问题,我会把他们看成是暴动行为。 (我不会读你的暴乱行为,因为我不对你的系统或数据安全负责。)

我从你的第一句话中看到你意识到这可能不是最好的主意,因为它是一个“非理想”的应用程序。

我知道我要提出的建议将导致重复的代码并在未来增加维护,但是当你平衡认证机制的短路或篡改一个众所周知和值得信赖的机制来削弱它允许另一个应用程序使用“后门”(这是你真正在这里做的事情 - 为这个其他应用程序创建一个后门,但尝试使用查询字符串参数作为登录机制的一部分)它是真的是两个邪恶中较小的一个,有更多的代码和更多的维护。

所以......你有没有考虑过,是否有可能为其他应用程序设置另一种方法来获取数据?你说它只是获取数据,所以为什么不单独使用一个Web服务项目或其他项目。甚至另一个网站应用程序也可以更好地解决您提出的问题。

即使这些数据不是你所谓的“敏感”,我仍然认为试图建立一个后门是一个坏主意。它可能不是当前应用程序的关键问题,但不是编码安全性是一种习惯,一旦你在一个领域进行编码,你就更有可能在其他地方承担不必要的风险。

相关问题