IBM MobileFirst直接更新和安全性

时间:2016-05-17 18:44:31

标签: ibm-mobilefirst mobilefirst-server

我正在使用IBM MobileFirst studio插件7.0,并按照此处的文档:Link to documentation了解如何配置直接更新。我试图理解这些部分是如何协同工作的,但我无法理解这个概念。

使用随教程提供的代码示例,我看到“mobileSecurityTest”被注释掉了,而“customSecurityTest”元素也被注释掉了。

我注意到的另一件事是,在application-descriptor.xml中,对添加的环境没有安全性测试?

  1. 应用程序将如何知道在应用程序级应用程序中使用哪个securityTest?
  2. 是否需要将securityTest放在一般环境中,特别是直接更新?
  3. 运行示例并按照应用程序上的说明进行直接更新未触发
  4. 感谢任何建议。

1 个答案:

答案 0 :(得分:2)

  1. 您可以在app的应用程序描述符中指定要使用的安全测试。
  2. 在我的应用程序描述符中,我有一个带有customSecurityTest的iPhone应用程序:

    <?php
        include('db_connect.php');
        session_start();
        if(isset($_SESSION['userSession'])!=""){
            $user_id = $_SESSION['userSession'];
            $query = "select * from wash WHERE clientid='$user_id'";
            $res = mysql_query($query) or die(mysql_error());
            $events = array();
            while ($row = mysql_fetch_assoc($res)) {
                $wid = $row['wid'];
                $start = $row['wash_date'];
                if($row['wstatus'] == 0){
                    $title = "Wash Scheduled";
                    $backgroundColor = "#f39c12";
                }
                else if($row['wstatus'] == 1){
                    $title = "Wash Done";
                    $backgroundColor = "#00a65a";
                }
    
                $eventsArray['wid'] = $wid;
                $eventsArray['title'] = $title;
                $eventsArray['start'] = $start;
                $eventsArray['backgroundColor'] = $backgroundColor;
                $events[] = $eventsArray;
            }
            echo json_encode($events);
        }
    ?>
    

    在我的身份验证配置中,我有:

    <iphone bundleId="com.PhoneUp" version="1.0" securityTest="customSecurityTests">
        <worklightSettings include="false"/>
        <security>
            <encryptWebResources enabled="false"/>
            <testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3"/>
        </security>
    </iphone>
    

    现在,保护我的应用程序的安全测试在我的authentication-config(服务器上的安全文件)中映射到安全性测试

    1. 不需要在应用程序上放置安全测试来触发直接更新 您可以通过尝试&#34;登录&#34;的用户触发直接更新。到那个领域。

      <customSecurityTest name="customSecurityTests">
          <test realm="wl_antiXSRFRealm" step="1"/>
          <test realm="wl_authenticityRealm" step="1"/>
          <test realm="wl_remoteDisableRealm" step="1"/>
          <test realm="wl_directUpdateRealm" mode="perSession" step="1"/>
          <test realm="wl_anonymousUserRealm" isInternalUserID="true" step="1"/>
          <test realm="wl_deviceNoProvisioningRealm" isInternalDeviceID="true" step="2"/>
      </customSecurityTest>
      

      直接更新是一个领域,您可以阅读有关here的更多信息。

    2. 来自here的示例项目没有注释安全测试,也没有保护应用程序的安全测试。您将不得不取消注释并在应用程序描述符中添加安全性测试,如第一个答案中所述。