1

我正在尝试通过 WLS 控制台自动执行以下步骤:

一个。在 Weblogic 控制台的主页中,单击左侧的 Deployments 链接表单,找到“gateway-management-service”

湾。展开“gateway-management-service”并点击“GatewayManagementService”(这是一个webservice模块)

C。单击安全选项卡,然后单击角色选项卡。

d。单击“Web 服务模块作用域角色”部分中的“新建”。

e. 在新窗口中,将名称设置为“Special WS Role Enforcement”,然后单击“确定”。

F。单击链接“特殊 WS 角色实施”。

G。在新页面中,单击“添加条件”并在新页面中选择“用户”,然后单击下一步。

H。在新页面中,在“User Argument Name”中输入“CSR.gatewaywsuser”,然后点击“ADD”

一世。单击完成。

j. 节省。

我有 test.py 作为:

connect('weblogic', 'welcome123', 'localhost:7001');
realm=cmo.getSecurityConfiguration().getDefaultRealm();
xacmlatz = realm.lookupAuthorizer('XACMLAuthorizer');
xacmlrm = realm.lookupRoleMapper('XACMLRoleMapper');
resourceId = 'type=<webservices>, application=gateway-management-service, contextPath=gwy_management_service, webService=GatewayOidManagerService'
xacmlatz.createPolicy(resourceId, "Rol(Special WS Role Enforcement )");
xacmlrm.createRole(resourceId, "Special WS Role Enforcement ", "Usr(CSR.obigatewaywsuser )")

我像这样运行这个脚本:

$MW_HOME/oracle_common/common/bin/wlst.sh test.py

我的问题:执行上述脚本后,当我转到控制台 -> 部署 -> 网关管理服务 -> GatewayManagementService -> 安全选项卡 -> 角色子选项卡时,我看不到角色。如果尝试再次运行脚本,它将失败并出现 weblogic.management.utils.AlreadyExistsException: [Security:090320]Failed to create role

我究竟做错了什么?

在运行 test.py 后,我尝试同时弹跳我的托管服务器和管理服务器,看看是否有帮助,但没有成功。

4

1 回答 1

1

您实际上可能正在正确地做所有事情。我们有同样的问题(从 wlst 脚本设置时,角色没有显示在控制台中)。我认为这是一个 Weblogic 错误。

也就是说,您仍然有一种方法来验证角色是否已正确设置。

在 Weblogic 控制台中转到:

Security Realms -> myrealm -> Migration -> Export

并导出到您选择的目录。然后,您可以打开 XACMLAuthorizer.dat 和 XACMLRoleMapper.dat 并查看您的角色是否存在。您需要使用 xml 编辑器或浏览器打开它,因为它很难阅读。

于 2013-06-03T17:31:02.587 回答