Worklight:受保护的资源意外地自动变为不受保护

时间:2013-06-08 06:34:42

标签: java security authentication ibm-mobilefirst

我根据Worklight指南保护了一些资源,以保护静态网址,控制台等。

http://pic.dhe.ibm.com/infocenter/wrklight/v5r0m5/index.jsp?topic=%2Fcom.ibm.worklight.help.doc%2Fadmin%2Fr_protecting_ibm_worklight_console.html

我根据Custom_Authenticator_and_Login_Module.pdf指南为我定义的领域。

我有以下配置设置:

<staticResources>
        <resource id="worklightConsole" securityTest="PushApplication-custom-securityTest">
             <urlPatterns>/console*</urlPatterns> 
            <urlPatterns>/apps/services/preview*</urlPatterns>           
        </resource>
</staticResources>

当我申请时,两个网址都受到保护,现在我再次检查两天后,这次只有一个受到保护(预览受到保护)。

请注意,这是WL v5.0.5中的已知问题吗?因为目前我正在运行这个。

我对此安全漏洞有一个解决方法,即实现Java EE安全过滤器 - 作为所有请求的守望者。

我的 authenticationConfig.xml

<securityTests>
      <mobileSecurityTest name="myMobileSecurity">
            <testUser realm="myAppRealm"/>
            <testDeviceId provisioningType="none"/>
        </mobileSecurityTest>
        <customSecurityTest name="PushApplication-custom-securityTest">                             
                <test isInternalUserID="true" realm="PushAppRealm"/>   
            </customSecurityTest> 
        <customSecurityTest name="myAppSecurityTestCustom">                             
                <test isInternalUserID="true" realm="myAppRealm"/>   
            </customSecurityTest> 
    </securityTests>

    <realms>

        <realm loginModule="Strongmy" name="myAppRealm">
            <className>com.worklight.core.auth.ext.FormBasedAuthenticator</className>
            <parameter name="login-page" value="login.html"/>
        </realm>
        <realm loginModule="PushAppLoginModule" name="PushAppRealm">                                                
            <className>com.worklight.core.auth.ext.BasicAuthenticator</className>   
                <parameter name="basic-realm-name" value="PushAppRealm"/>                                                  
        </realm>
        <realm loginModule="requireLogin" name="WorklightConsole">
            <className>com.worklight.core.auth.ext.FormBasedAuthenticator</className>
            <onLoginUrl>/console</onLoginUrl>
        </realm>
    </realms>

    <loginModules>
         <loginModule name="PushAppLoginModule">
            <className>com.my.services.myAuthModule</className>
        </loginModule>
        <loginModule name="Strongmy">
            <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className>
        </loginModule>

        <loginModule name="requireLogin">
            <className>com.worklight.core.auth.ext.SingleIdentityLoginModule</className>
        </loginModule>

    </loginModules>

非常欢迎任何其他建议。

由于

1 个答案:

答案 0 :(得分:0)

您可以在customSecurityTest中进行的安全测试旨在保护移动环境,而不是protecting Worklight Console。从您的securityTest的名称来看,它听起来就像您确实将它应用于移动环境......

  1. 您的authenticationConfig.xml如何?
  2. 使用预定义的Worklight Console安全测试有什么问题? (you can also extend it to use LDAP)。