问题背景:(1)有两台服务器a和b,其中a服务器上运行了应用系统x,b服务器上运行了应用系统y。
(2)应用系统y采用了IIS windows身份验证,即一登陆该系统就会弹出windows验证框。
(3)现在已知域用户名和密码,可以登陆到应用系统y。
(4)应用系统y的代码无法修改。问题是:我不想输入用户名和密码直接登陆应用系统y,而是通过应用系统x把用户名和密码传递到应用系统y上进行自动windows身份验证,从而实现登陆,不要弹出windows验证框。不知道问题是否描述清楚,急盼高人指点,在此拜谢了。先前不小心发到asp板块了:有高人的回答是:HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://yyyyyy");
NetworkCredential myCred = new NetworkCredential(UserName,Password,Domain);request.Credentials = myCred;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream ();
StreamReader readStream = new StreamReader (receiveStream, Encoding.UTF8);
Console.WriteLine (readStream.ReadToEnd ());
response.Close ();
readStream.Close ();我觉得这应该是个有效的方法,但是总是出现远程服务器返回错误: (401) 未经授权。,我自己也尝试着解决下无果。
(1) 用户名,密码和域名都没有输错
(2) 服务器中只开启了windows身份验证,匿名用户是禁用的~~~这个问题到底如何解决,还望各路高手指点迷津,在此拜谢了~~~~
(2)应用系统y采用了IIS windows身份验证,即一登陆该系统就会弹出windows验证框。
(3)现在已知域用户名和密码,可以登陆到应用系统y。
(4)应用系统y的代码无法修改。问题是:我不想输入用户名和密码直接登陆应用系统y,而是通过应用系统x把用户名和密码传递到应用系统y上进行自动windows身份验证,从而实现登陆,不要弹出windows验证框。不知道问题是否描述清楚,急盼高人指点,在此拜谢了。先前不小心发到asp板块了:有高人的回答是:HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://yyyyyy");
NetworkCredential myCred = new NetworkCredential(UserName,Password,Domain);request.Credentials = myCred;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream ();
StreamReader readStream = new StreamReader (receiveStream, Encoding.UTF8);
Console.WriteLine (readStream.ReadToEnd ());
response.Close ();
readStream.Close ();我觉得这应该是个有效的方法,但是总是出现远程服务器返回错误: (401) 未经授权。,我自己也尝试着解决下无果。
(1) 用户名,密码和域名都没有输错
(2) 服务器中只开启了windows身份验证,匿名用户是禁用的~~~这个问题到底如何解决,还望各路高手指点迷津,在此拜谢了~~~~
匿名用户是禁用的=>开启
winform webbrower
WebRequest wreq = WebRequest.Create(uri);
string uid = "";
string pwd = "";
string domain = "";
NetworkCredential nc = new NetworkCredential(uid, pwd, domain);
wreq.Credentials = nc;
WebResponse wres = wreq.GetResponse();
Stream st = wres.GetResponseStream();
StreamReader sr = new StreamReader(st);
string res = sr.ReadToEnd();
sr.Close();
st.Close();
感谢你的回复,IE输入域帐户和密码是能够访问的,匿名是不能够浏览的,如果不开启匿名用户,只开启windows身份验证是否有办法?