我根据 Worklight 指南保护了我的一些资源,以保护静态 url、控制台等。
我为它定义的领域是按照 Custom_Authenticator_and_Login_Module.pdf 指南完成的。
我有以下配置设置:
<staticResources>
<resource id="worklightConsole" securityTest="PushApplication-custom-securityTest">
<urlPatterns>/console*</urlPatterns>
<urlPatterns>/apps/services/preview*</urlPatterns>
</resource>
</staticResources>
当我申请那个时候两个 URL 都受到保护时,现在两天后我再次检查它,这次只有一个受到保护(预览受到保护)。
请建议,这是 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>
任何其他建议都受到高度欢迎。
谢谢