ASP.NET协作应用集成到trsids身份验证服务器的开发流程
- 开发Actor协同模块; (参考TRSIDS4.0 协作应用集成手册【asp.net】)
- ASP.Net协作应用集成到IDS之前,需要开发Actor类实现协作应用回调接口中定义的本地登录、退出、用户信息同步等回调接口方法,协同IDS完成SSO.Actor类需要继承并重写实现抽象TRS.IDS.DotNetAgent.Actor.AbstractApplicationActor的各个方法,并且Actor开发工程必须引用TRSIDSAspDotNetAgent.dll.
根据实际情况覆盖重写上述方法,确定无误之后,生成一个CoApplication.dll,并将其放入TRSIDSAgent文件夹中,
- 配置TRSIDSAgent.ini文件
修改内容:该文件的有2部分需要根据实际情况做相应的处理和配置
1)IDS这部分属性的配置
##TRSIDS身份服务器后台SSLServer的主机名(就是你安装IDS系统的那台机器的IP)
TRSIDSHost=172.18.84.119
##TRSIDS身份服务器后台通信的端口,默认为2005(对应安装时IDS系统的端口)
TRSIDSPort=2005
2)协作应用(数图)属性【CoApplication】
##协作应用名.必填, 并且必须和身份服务器上注册的协作应用名保持一致(IDS后台应用名称一致)。
CoApplicationName=apabi
##是否允许匿名访问,y为允许,n为不允许
isAllowAnonymity=n
##协作应用用户注销后调转的页面链接,
如CoAppDefaultURL=http://192.9.200.134/aspnetdemo/index.aspx//
CoAppDefaultURL =http://172.18.84.61:8011/Usp
##协作应用的根URL,包括上下文,
如CoAppRootURL=http://127.0.0.1/aspnetdemo
CoAppRootURL = http://172.18.84.61:8011/usp
loginAction.uri=http://172.18.84.61:8011/Usp/TRSIDSAgent/URLValidation.aspx
- 部署安装TRS IDS的Agent
(1) 复制TRS IDS ASP.Net Agent安装介质中的TRSIDSAgent文件夹,到协作应用的根目录下。
(2)复制TRS IDS ASP.Net Agent安装介质中TRSIDSAgent子目录下的log4net.dll和TRSIDSAspDotNetAgent.dll到协作应用的bin目录下。
(3)如果你的项目中引用了log4net且版本高于TRSIDSAgent子目录下的log4net.dll,此时需要将TRSIDSAgent子目录下的log4net.dll替换原有的,添加引用到你的项目中
(4)把前面生成的CoApplication.dll文件,放置到该TRSIDSAgent文件夹中。
- 配置Web.config文件
由于IIS从7.0版本支持两种管道模式:一种是IIS 7.0最新提供的集成管道模式,另一种是经典管道模式,经典管道模式是由先前版本的IIS提供的。
因此TRSIDS ASP.NET Agent从4.0版本开始,不仅支持4.0版本以前版本的经典托管管道模式,而且支持集成托管管道模式。
(1) 经典托管管道模式
在 <system.web></system.web>节点下,添加如下<httpModules></httpModules>子节点。如下:
<system.web>
<httpModules>
<add type="TRS.IDS.DotNetAgent.TRSIDSHttpModule,TRSIDSAspDotNetAgent" name="TRSIDSHttpModule"/>
</httpModules>
</system.web>
如果Web.config文件中已经存在<httpModules></httpModules>子节点,则只需在该<httpModules></httpModules>节点下,添加<add>子节点即可。如下:
<httpModules>
<add type="TRS.IDS.DotNetAgent.TRSIDSHttpModule,TRSIDSAspDotNetAgent" name="TRSIDSHttpModule"/>
</httpModules>
(2) 集成托管管道模式
在 <system.web></system.web>节点下,将impersonate参数设置为false。如下:
<system.web>
<identity impersonate="false" />
</system.web>
在<system.webServer> </system.webServer>节点下,添加如下<modules> </modules>子节点。如下:
<system.webServer>
<modules>
<add type="TRS.IDS.DotNetAgent.TRSIDSHttpModule,TRSIDSAspDotNetAgent" name="TRSIDSHttpModule" />
</modules>
</system.webServer>
注:若从经典模式改为集成模式,需要将原先设置的<httpModules></httpModules>子节点删除。
-
配置日志输出文件
log4net.config控制TRS IDS ASP.Net Agent日志输出格式。您只需配置<file value="日志输出完整路径,包括日志文件名" />节点的值即可,该项用来指明运行日志输出的路径。如:
<file value="D:\asp.netdemo\TRSIDSAgent\log4net.log" />
若配置为<file value=" log4net.log"/>则默认在协作应用根目录下。(注意此处文件的路径根据实际情况做相应的处理,否则,生成的日志会出现在你想不到的地方 ps 开个玩笑)
2.IDS系统后台协作应用配置
注册协作应用
出于安全的考虑,只有在TRS IDS上注册了的协作应用才能够使用TRS IDS的服务。
注册的过程参见《TRSIDS4.0 管理员使用手册》添加协作应用有关内容。
注意:
1、 ASP.NET协作应用会话名称一般设置为:ASP.NET_SessionId。
2、 ASP.Net协作应用的“IDS请求URL”须指定为
应用根目录/TRSIDSAgent/URLValidation.aspx
如:http://192.9.200.249/demo/TRSIDSAgent/URLValidation.aspx。
另外:正确集成实现单点登录,需要在IDS管理台正确配置SSO URL。
SSO URL必须配置为与实际TRS IDS访问地址相符的URL,否则所有的应用都无法实现SSO。配置方法为:点击IDS系统菜单,然后点击设置,参考页面SSO URL配置说明,配置完成后系统会默认在后面加上/LoginServlet。