2

我想知道如何使用 CLI为托管域实例secret value的属性添加新属性。server-identities

通过命令行添加新用户时,我们建议将秘密值添加到服务器实例。但是没有太多关于如何做到这一点的信息。例如,我们知道这发生在host-master.xml文件中,并且我知道我可以在 XML 中编辑它。一个例子如下:

  <management>
    <security-realms>
        <security-realm name="ManagementRealm">
            <server-identities>
                  <secret value="superdupersecret" />
            </server-identities>
            <authentication>
                <local default-user="$local" />
                <properties path="mgmt-users.properties" relative-to="jboss.domain.config.dir"/>
            </authentication>
        </security-realm>
        .
        .
        .
</management>

我可以通过从根目录运行以下操作来查看节点read-resource(“shotgun 方法”将运行时传递的所有参数和变量通过管道输出以进行快速搜索)。我可以很容易地抓住它。

:read-resource(recursive=true, include-runtime=true) > nameoffile.txt  

这显示了我所追求的节点的路径。

"host" => {"master" => {  
        ...snip...
        "core-service" => {  
            "management" => {  
                "ldap-connection" => undefined,  
                "management-interface" => {  
                    "native-interface" => {  
                        "interface" => "management",  
                        "port" => expression "${jboss.management.native.port:9999}",  
                        "security-realm" => "ManagementRealm"  
                    },  
                    "http-interface" => {  
                        "console-enabled" => true,  
                        "interface" => "management",  
                        "port" => expression "${jboss.management.http.port:9990}",  
                        "secure-port" => undefined,  
                        "security-realm" => "ManagementRealm"  
                    }  
                },  
                "security-realm" => {  
                    "ManagementRealm" => {  
                        "authorization" => undefined,  
                        "plug-in" => undefined,  
                        "server-identity" => undefined,  
                        "authentication" => {  
                            "local" => {  
                                "allowed-users" => undefined,  
                                "default-user" => "$local" 

然后我可以cd进入节点,但我不确定这个级别的操作组成是什么。我可以在 CLI 中编写其他值和属性,但在这个级别上我不确定方法是什么。任何建议表示赞赏。例如,这些失败。假设我不需要在写入值之前先添加这个属性,并且这个节点甚至可以在 CLI 中写入(任何想法 Alexey?)。

[domain@localhost:9999 security-realm=ManagementRealm] /host=master/core-service=management/security-realm=ManagementRealm/server-identity/:write(server-identity="new_value")  

和:

[domain@localhost:9999 security-realm=ManagementRealm] /host=master/core-service=management/security-realm=ManagementRealm/:write(server-identity="new_value")  
4

1 回答 1

6

ejb-security-interceptors项目有一个CLI 脚本来处理这个问题。相关部分如下:

/core-service=management/security-realm=ejb-outbound-realm:add    
/core-service=management/security-realm=ejb-outbound-realm/server-identity=secret:add(value="Q29ubmVjdGlvblBhc3N3b3JkMSE=")
于 2013-08-29T22:05:22.983 回答