以下实现需要在客户机上很多配置,总要搞个MSI集成发布的。
哪位达人会做MSI还有在IIS7上进行以下配置的,望不悋赐教呵:)
1.名词解释
IWA:IntegratedWindowsAuthentication 集成Windows身份验证
2.环境准备
客户端:WinXP、IIS5.1 IP:192.168.5.251
(原本在本机Win7/IIS7.5上实验的,无奈和IIS5、6差别太大,搞了半天不会玩;后用VMWare7在本机拟安装了一个WinXP,终得以顺利实验)
(另:一般WinXP的IIS是需要再次安装的:控制面板-添加删除程序-添加删除Windows组件-Internet信息服务(IIS),然后插入WinXP安装光盘即可。当然简单的方法是从网上下一个WinXP下IIS的安装包,当对话框说某些件找不到时指向这个目录获取即可。)
服务端:Win7、Weblogic11g(10.3.1.0) IP:192.168.5.250
预先部署个简单的WebApp,Context Root为/ssodemo ,domain端口8001
访问页index.jsp里写个:<%=request.getHeader("proxy-remote-user")%>
3.实现步骤
3.1 将以下两个文件拷贝至客户机某目录下,例:d:/iissso
(以下${wl_home}代指Weblgoic安装目录)
${wl_home}/wlserver_10.3/server/plugin/win/32/iisproxy.dll
${wl_home}/wlserver_10.3/server/plugin/win/32/iisforward.dll
3.2 在同目录下新建iisproxy.ini文件,例:d:/iissso/iisproxy.ini
内容如下:
这样客户端向 http://localhost/ssodemo/index.jsp发起的访问,会转向至http://192.168.5.250:8001/ssodemo/index.jsp
(如果服务器的Webapp Context Root为/,那么应设置PathTrim=/ssodemo,即一个类似于
http://localhost/ssodemo/index.jsp会转向至http://192.168.5.250:8001/index.jsp)
3.3 右键我的电脑-管理-服务和应用程序-Internet信息服务-网站-右键默认网站-属性
3.3.1 “ISAPI筛选器”-添加
名称:iisforward
可执行文件:D:/iissso/iisforward.dll
3.3.2 “主目录”-配置-“映射”-添加
可执行文件:D:/iissso/iisproxy.dll
扩展名:.wlforward
取消掉“检查文件是否存在”的框 3.3.3 “目录安全性”-编辑
取消匿名访问,只保留“集成Windows身份验证”
4.测试
在客户机IE访问http://localhost/ssodemo/index.jsp,如果页面显示 “testdomain/Administrator”就表示一切OK啦!
5.参考资料
http://cn.forums.oracle.com/forums/thread.jspa?threadID=894619
http://cn.forums.oracle.com/forums/thread.jspa?threadID=875569
http://download.oracle.com/docs/cd/E15051_01/wls/docs103/plugins/isapi.html
3.4 右键我的电脑-管理-服务和应用程序-Internet信息服务-本地计算机-所有任务,重新启动IIS