cyoungusm/cisco-ise-utils

用于操作Cisco ISE ERS的PHP库


README

cisco-ise-utils

Cisco ISE Utils 是一个用于通过其外部RESTful服务(ERS)API与Cisco身份服务引擎(ISE)交互的库。目前,它只支持JSON类型(不支持XML)的API。

有关ERS API的文档,请参阅

https://developer.cisco.com/docs/identity-services-engine/

当前支持的功能

截至版本1.0,唯一支持的资源类型是端点和端点组。任何添加新资源类型、单元测试或重构的贡献都将非常受欢迎。代码处于非常早期、粗糙的状态。最终,ISEUtils\ERSClient需要抽象为接口及其相关实现,然后将其DI注入到ISEUtils\Client中。应创建测试用例等。

尝试使用库

要运行一些基本测试,请执行以下设置并运行示例脚本。这可以帮助您确定代码是否满足您的需求。

将sample-scripts/settings-default.php复制到sample-scripts/settings.php,并编辑您的环境中的值。这包括以下设置。

  • CISCO_ISE_HOST - 您Cisco ISE安装的主机名或IP地址
  • CISCO_ISE_ERS_PORT - 连接时使用的TCP端口(默认为9060)
  • CISCO_ISE_ERS_USER - 具有适当ISE权限的服务帐户的用户名
  • CISCO_ISE_ERS_PASS - 相关联的密码
  • CISCO_ISE_ERS_PROTO - 要使用的传输协议(默认为https)
  • CISCO_ISE_ERS_TXPERMIN - 每分钟的ERS事务数(null/空/0表示无限制)
  • CISCO_ISE_ERS_TXPERCON - 每个连接的ERS事务数(null/空/0表示无限制)
  • CISCO_ISE_ERS_VERIFYSSL - 是否验证ISE服务器的SSL证书(false表示不验证)

运行composer install以设置包含依赖项的供应商目录。

运行composer dump-autoload -o以设置类自动加载。

运行脚本如下

php ./sample-scripts/load-testing-data.php

php ./sample-scripts/delete-testing-data.php

考虑使用PHP和composer的容器化版本来运行,无需安装PHP。一个示例Dockerfile位于buildtools目录下。

docker build -t buildtools ./buildtools

docker run -it --rm -v $PWD:/opt -w /opt buildtools composer install

docker run -it --rm -v $PWD:/opt -w /opt buildtools composer dump-autoload -o

docker run -it --rm -v $PWD:/opt -w /opt buildtools php ./sample-scripts/load-testing-data.php

注意:buildtools中还包括PHP_UML,它附带phpuml实用工具。您可以使用它生成UML XMI元数据,然后使用像Umbrello这样的工具创建类图等。

docker run -it --init --rm -v $PWD:/opt -w /opt buildtools phpuml -o ./meta/ ./src

使用Composer与ISE Utils一起使用

要使用Composer在PHP应用程序中使用ISE Utils库,您可以在composer.json文件中将它作为必需包添加。

"require": {
    "cyoungusm/cisco-ise-utils": "1.0"
}

运行测试用例

运行测试用例如下

./vendor/phpunit/phpunit/phpunit ./tests

docker run -it --rm -v $PWD:/opt -w /opt buildtools ./vendor/phpunit/phpunit/phpunit ./tests