【问题标题】:Creating Proxy Service in WSO2 Dev Studio With UsernameToken Security?使用 UsernameToken 安全性在 WSO2 Dev Studio 中创建代理服务?
【发布时间】:2014-07-10 15:35:47
【问题描述】:

我正在尝试在 WSO2 Dev Studio 中的服务上启用 UsernameToken 安全性。我可以通过 WSO2 Web GUI 轻松做到这一点。我希望通过开发工作室做到这一点是生成一个可以轻松部署的 .car 文件。

我看到 web gui 创建了一个策略文件,并且可以将其包含在导出的 .car 文件中。我相信问题在于,当您使用 web gui 启用 usernametoken 安全性时,第二个屏幕要求选择用户组列表。我没有看到这些数据最终会在哪里结束。政策中没有定义。它似乎是由 WSO2 内部存储的。如果这是准确的,是否可以通过部署 .car 文件与之交互?

最终,我只想使用用户名和密码进行身份验证,任何用户组都可以,因为我将在身份验证后使用权利中介来控制访问。

编辑:看起来它最终出现在 WSO2CARBON 数据库的 UM_ROLE_PERMISSION 表中。我想我需要一种将一些代码放入我的 .car 文件中的方法,这些代码将在部署时执行,以便写入该表。 (或者一个不太糟糕的解决方案,我可以只描述整个身份验证方案而无需操作数据库。)

【问题讨论】:

    标签: wso2 wso2esb wso2carbon wso2is


    【解决方案1】:

    用户角色列表存储在用户管理数据库中。默认情况下,它会存储在默认的 h2 数据库中。

    您可以通过在代理配置中设置一个名为allowRoles 的参数来配置允许的角色。设置将被授权访问给定服务的逗号分隔角色。

    例如:

    <parameter name="allowRoles">role1,role2</parameter>

    示例代理配置:

    <?xml version="1.0" encoding="UTF-8"?>
    <proxy xmlns="http://ws.apache.org/ns/synapse" name="test_ws_security" transports="http https" startOnLoad="true" trace="disable">
        <target>
            <inSequence>
                <respond/>
            </inSequence>
            <outSequence/>
        </target>
    
        <parameter name="allowRoles">admin,myrole</parameter>
    
        <policy key="conf:/custom/UsernameTokenPolicy_v1.xml"/>
        <enableSec/>
    </proxy> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多