使用C#.net程序通过登录

时间:2012-06-21 20:26:15

标签: c# http authentication post

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

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

我的分析: -

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

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

2)稍后,当我输入用户名,密码并单击提交按钮时。 它正在创建一个查询字符串 的 用户= ADF&安培;密码= ADSF&安培; BUTTONNAME =登录+%21

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

你能帮我这个!!!!请尽可能为我提供一个我可以参考的代码并进行更改以实现这一点..... 非常感谢您的期待....任何帮助表示赞赏.....

1 个答案:

答案 0 :(得分:0)

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

您需要让用户手动输入身份验证并将该信息封送到外部站点,这实际上不仅仅是让用户直接向外部站点进行身份验证。

另一方面,很少能够安全地对程序中的密码进行硬编码。只是在说。此外,如果您在浏览器的地址栏中看到一个查询字符串,那么它不使用POST,而是使用GET。