当前位置:编程学习 > C#/ASP.NET >>

如何启动IE并传递用户身份到集成windows身份认证的站点

一个C/S的客户端,读取exchange ,显示用户未读邮件的数量。
点击利用Process启动IE,直接登录OWA(Exchange Web Mail),需要集成单点登陆.

因为OWA站点是集成windows身份认证(AD)的,而客户端大多没有加入域。
登录C/S客户端的时候,用户输入域用户账户和口令,所以域用户信息我都可以取到,
但不知道如何把这个身份传递给IE,并让IE使用这个用户身份直接登录OWA,而不弹出windows身份认证的窗口。

PS:用户本机电脑并未加入域。


-------------------------
困扰了很久,能给出C#可行代码的马上结贴给分 --------------------编程问答-------------------- sf,jf --------------------编程问答-------------------- ding --------------------编程问答-------------------- up --------------------编程问答-------------------- up --------------------编程问答-------------------- 有没有  有经验的朋友上来说两句 --------------------编程问答-------------------- DDDDDDD
没有知道的兄弟吗 --------------------编程问答-------------------- 恐怕很难

如果你的计算机加入到域里面了,那么还比较容易实现,大概方法如下:
Impersonate你需要输入到登陆框里面的域用户名和密码,来启动IE。这样启动的IE在访问网站的时候会自动使用你前面所impersonate的帐号,自然也就不会弹出登陆框咯。
关于如何在.NET里面做这样的impersonate,请参考:http://support.microsoft.com/kb/889251
当然,如果说你的C/S程序使用C++之类的非托管代码开发的,那就更方便一点:http://msdn.microsoft.com/en-us/library/ms682429(VS.85).aspx

那么,既然你的PC不在域里面,那就比较困难,你需要了解IE所能提供的API。据我所知,可以通过COM调用的方式来启动IE,那么我目前不知道是否同样有COM接口使得你能在弹出登陆框的时候输入用户名密码。我帮你查一下吧,不过不报太大希望。 --------------------编程问答-------------------- 给你一点资料:
http://msdn.microsoft.com/en-us/library/aa752084(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/aa752040(VS.85).aspx

能不能做到就看你自己研究了。 --------------------编程问答-------------------- UP 。。。。。。。。。。。 --------------------编程问答-------------------- 建议必须加入AD,我以前公司就是必须加入AD包括任何人。 --------------------编程问答-------------------- InternetExplorer Object 没有合适的函数或者属性!
难道无解了么? --------------------编程问答-------------------- 貌似命令行加参数可以实现,如果不能也可以捕获住那个要输入用户名和口令的窗体,再对窗体进行操作试试。 --------------------编程问答-------------------- .............................................Up............................. --------------------编程问答--------------------
引用 11 楼 ysuauto1000 的回复:
InternetExplorer Object 没有合适的函数或者属性!
难道无解了么?


请指教,能不能贴些资料。比如命令行参数,以及捕获输入用户名密码的窗体如何操作?
--------------------编程问答-------------------- 请指教,能不能贴些资料。比如命令行参数,以及捕获输入用户名密码的窗体如何操作? 
引用 12 楼 liyoubaidu 的回复:
貌似命令行加参数可以实现,如果不能也可以捕获住那个要输入用户名和口令的窗体,再对窗体进行操作试试。
--------------------编程问答--------------------
引用 13 楼 ynsky 的回复:
.............................................Up.............................
up --------------------编程问答--------------------
引用 15 楼 ysuauto1000 的回复:
请指教,能不能贴些资料。比如命令行参数,以及捕获输入用户名密码的窗体如何操作?
引用 12 楼 liyoubaidu 的回复:貌似命令行加参数可以实现,如果不能也可以捕获住那个要输入用户名和口令的窗体,再对窗体进行操作试试。


说实话,这种方式是很困难的,需要你对IE的实现非常了解.再说,就算你捕获了IE6的弹出对话框,你还要考虑IE7, IE8是不是也以同样的方式捕获?

个人认为这条路很难走得通,除非你是真正的高手. --------------------编程问答-------------------- 不捕获登录框,给IE附加用户参数启动,如何使用本机不存在的域用户启动? --------------------编程问答-------------------- 继续顶一下
不要沉 --------------------编程问答--------------------
引用 18 楼 ysuauto1000 的回复:
不捕获登录框,给IE附加用户参数启动,如何使用本机不存在的域用户启动?


不能。我之前已经说过,如果在域里面,那么就可以做Impersonate,也就是你所说的附加用户参数。 --------------------编程问答-------------------- 楼主解决没,分享下吧 --------------------编程问答-------------------- 没做过,帮顶! --------------------编程问答-------------------- 直接使用WEBBROWSER转换,可行么?获取WEBBROWSER里的用户身份信息。?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,