使用出口类映射文件服务器的凭证

如果您不想使用协议网桥代理的缺省凭证映射功能,那么可以通过编写您自己的用户出口将 Managed File Transfer 中的用户凭证映射到文件服务器上的用户凭证。 如果您配置凭证映射用户出口,那么它们会取代缺省凭证映射功能。

关于本任务

Managed File Transfer 提供了用于执行用户凭证映射的样本用户出口。 有关更多信息,请参阅 使用样本协议网桥凭证用户出口

映射协议网桥凭证的用户出口必须实现以下某个接口:
  • com.ibm.wmqfte.exitroutine.api.ProtocolBridgeCredentialExit,支持协议网桥代理与一个缺省协议文件服务器相互传输文件
  • com.ibm.wmqfte.exitroutine.api.ProtocolBridgeCredentialExit2,支持您与多个端点相互传输文件。
com.ibm.wmqfte.exitroutine.api.ProtocolBridgeCredentialExit2 接口包含与 com.ibm.wmqfte.exitroutine.api.ProtocolBridgeCredentialExit 相同的功能,并且还包含扩展功能。 更多信息,请参阅ProtocolBridgeCredentialExit.java 接口ProtocolBridgeCredentialExit2.java接口

凭证出口可以与其他用户出口类似的方式链接在一起。 按代理属性文件中使用 protocolBridgeCredentialConfiguration 属性指定出口的顺序调用出口。 初始化方法均单独返回,并且如果一个或多个方法返回一个 false 值,那么代理不会启动。 代理事件日志中将报告此错误。

针对所有出口的 mapMQUserId 方法,只会返回一个整体结果,如下所示:
  • 如果方法返回 USER_SUCCESSFULLY_MAPPED 或 USER_DENIED_ACCESS 值作为结果代码,那么该值为返回的结果,不会调用后续出口的 mapMQUserId 方法。
  • 如果方法返回 NO_MAPPING_FOUND 值作为结果代码,那么会调用下一个出口的 mqMQUserId 方法。
  • 如果没有后续出口,那么返回 NO_MAPPING_FOUND 结果。
  • USER_DENIED_ACCESS 或 NO_MAPPING_FOUND 的整体结果代码将视为网桥代理传输失败。

要运行出口,请完成以下步骤:

过程

  1. 编译协议网桥凭证用户出口。
  2. 创建包含已编译出口及其包结构的 Java 归档 (JAR) 文件。
  3. 将包含出口类的 JAR 文件放在网桥代理的 exits 目录中。 该目录位于 MQ_DATA_PATH/mqft/config/coordination_queue_manager/agents/bridge_agent_name 目录中。
  4. 编辑协议网桥代理的属性文件以包含属性 protocolBridgeCredentialExitClasses。 对于该属性的值,请指定一个实现协议网桥凭证出口例程的以逗号分隔的类列表。 将按照此列表中指定出口类的顺序来调用这些出口类。 有关更多信息,请参阅 MFT agent.properties 文件
  5. 将协议网桥代理的属性文件编辑为包含:
    exitClassPath=IBM MQ installation_directory\mqft\config\configuration_queue_manager\agents\protocol_bridge_agent_name\exits\SampleCredentialExit.jar
    

    代理的 agent.properties 文件位于 MQ_DATA_PATH/mqft/config/coordination_qmgr_name/agents/bridge_agent_name 目录中。

    如果更改 agent.properties 文件,那么必须重新启动代理以获取更改。

  6. 您可以选择指定 protocolBridgeCredentialConfiguration 属性。 为此属性指定的值作为字符串对象传入到由 protocolBridgeCredentialExitClasses 指定的出口类的 initialize() 方法。 有关更多信息,请参阅 MFT agent.properties 文件
  7. 使用 fteStartAgent 命令启动协议网桥代理。