-2

我的目标是向客户提供一个链接,当客户单击该链接时,他/她应该使用他们登录的 AD 凭据自动登录到这个新站点(不受我们公司控制的外部网站)。仅供参考,登录的凭据与此外部网站上的登录名匹配,并且所有人的密码都相同。所以,我可以安全地在我的程序中对密码进行硬编码。

现在我在想的是编写一个 C# 程序,该程序将完成外部网站的身份验证过程并返回登录后收到的页面。

我的分析:-

1)当我第一次访问该页面http://website2/default.aspx时,它会返回一个包含用户名、密码和提交按钮的登录页面。

我还注意到它正在返回一个会话 ID。 *ASP.NET_SessionId=i0j3d155mxxkuyr3fedp00yf*

2)稍后,当我输入用户名、密码并单击提交按钮时。它正在创建一个查询字符串,例如 user=adf&password=adsf&buttonName=Login+%21

我认为它正在使用 HTTP Post 调用。

你能帮我这个吗!!!!如果可能,请为我提供一个代码,我可以参考并进行更改以实现这一目标.....非常感谢您的关注....任何帮助表示赞赏.....

4

1 回答 1

0

您将无法执行此操作,因为无法从 AD 中检索密码。唯一可能的方法是,如果外部站点与您的站点之间存在信任关系,并且听起来情况并非如此(如果我错了,请纠正我!)。

您需要让用户手动输入身份验证并将该信息编组到外部站点,这实际上并不比让用户直接对外部站点进行身份验证更好。

附带说明一下,您可以在程序中安全地硬编码密码的情况很少见。只是在说。此外,如果你得到一个可以在浏览器地址栏中看到的查询字符串,那么它不是使用 POST,而是使用 GET。

于 2012-06-22T13:58:47.817 回答