ASP.NET协作应用集成到trsids身份验证服务器的开发流程

  1. 开发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文件

    由于IIS7.0版本支持两种管道模式:一种是IIS 7.0最新提供的集成管道模式,另一种是经典管道模式,经典管道模式是由先前版本的IIS提供的。

    因此TRSIDS ASP.NET Agent4.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.netdemoTRSIDSAgentlog4net.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。