通过APNS发送MDM的清除设备锁屏密码的命令

分类: 首页- >MDM专栏 | 阅读: 4880 | 评论: 0 | 2014-07-24 16:18:57 
摘要:备设置了锁屏的密码,发送这个命令的时候就会清除设备的锁屏密码,如果其他控制配置需要密码,那么设备就会要求用户在60分钟内设置一个新的锁屏密码
导读:当设备设置了锁屏的密码,发送这个命令的时候就会清除设备的锁屏密码,如果其他控制配置需要密码,那么设备就会要求用户在60分钟内设置一个新的锁屏密码(If a passcode is present on the device, this command will clear that passcode. If a passcode is required by other configuration controls, the user will be given a grace period in which to set a new passcode.)

下面介绍一下MDM清除锁屏密码的相关资料:

1、MDM锁屏、恢复出厂、查询设备信息命令介绍:
通过APNS发送MDM的锁屏命令
通过APNS发送MDM的恢复出厂设置命令
通过APNS发送MDM的查询设备信息的命令

2、通过APNS推送一个通知给设备:
参考代码:
   /**
     * 清除设备密码功能
     * @throws Exception
     */
    @GET
    @Path("/clear/:deviceId")
    public void clearPasscode() throws Exception {
        System.out.println("-------------------ClearPasscode Start---------------");
        Map map = new HashMap();
        /**获取当期设备信息**/
        String deviceId = ControllerContext.getContext().getPathParamMap().get("deviceId");
        DBService dbService = ControllerContext.getContext().getDBService(Mdm.class);
        Mdm mdm = (Mdm) dbService.find("deviceId = ?", new Object[]{deviceId});
        /**对设备进行清除密码**/
        String pemFile = PushConfig.getConfig("APNS_P12MDM");
        HttpServletRequest request = (HttpServletRequest) ControllerContext.getContext().getHttpRequest();
        String pemPath = request.getRealPath("mdmtool") + pemFile;
        int pushState = PushUtils.singleMDMLockPush(pemPath, mdm);
        if (pushState == 1) {
            DBService commandService = ControllerContext.getContext().getDBService(Command.class);
            Command command = new Command();
            command.setCommand(MdmUtils.Clear);
            command.setDeviceId(deviceId);
            command.setDoIt("0");
            commandService.saveOrUpdate(command);
            map.put("state", "1");
            map.put("msg", "清除设备密码命令发送成功");
        } else {
            map.put("state", "0");
            map.put("msg", "清除设备密码命令发送失败");
        }
        System.out.println("-------------------ClearPasscode End---------------");
        toResult(Response.Status.OK.getStatusCode(), map);
    }
3、设备接收清除密码命令:
参考代码:
  /**发送清除设备密码命令**/
  String commandString = MdmUtils.getClearPassCodePList(MdmUtils.Clear, command.getId(),mdm);
  command.setDoIt("1");
  commandService.saveOrUpdate(command);
  System.out.println("-------------------ClearPasscode Start---------------");
  //设置下载的头信息
  HttpServletResponse response = (HttpServletResponse) ControllerContext.getContext().getHttpResponse();
  response.setHeader("content-type", "application/xml;charset=UTF-8");
  response.setCharacterEncoding("UTF-8");
  String configTitle = "UBangApp_ClearPasscode";
  response.setHeader("Content-Disposition", "attachment; filename=" + configTitle + ".plist");
  PrintWriter sos = response.getWriter();
  System.out.println("-------------------ClearPasscode End---------------");
  sos.write(commandString);
  sos.flush();
  sos.close();

上面的 MdmUtils.getClearPassCodePList(MdmUtils.Clear, command.getId(),mdm);参考如下方法:

 /**
   * 发送清除设备密码命令的pList格式的模板文件
   * @return
   */
 public static String getClearPassCodePList(String command,String commandUUID,Mdm mdm){
        String backString = "\n" +
                "                 "\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n" +
                "\n" +
                "\n" +
                "Command\n" +
                "\n" +
                "RequestType\n" +
                ""+command+"\n" +
                "UnlockToken\n" +
                ""+mdm.getUnlockToken()+"\n" +
                "\n" +
                "CommandUUID\n" +
                ""+commandUUID+"\n" +
                "\n" +
                "";
        return backString;
    }

说明:我们清除设备密码的时候需要的RequestType为ClearPasscode,UnlockToken为TokenUpdate时传递过来的UnlockToken,我们这里直接使用它,不需要base64解码等工作,如果格式错误,将会出现CommandFormatError这样的错误。

4、执行成功:
如果清除密码成功,将会返回一个Status为Acknowledged的结果,服务器直接处理就行了。

查询关键词:
Clear Passcode Command、Clear Passcode、The UnlockToken is correct、Handling request type: ClearPasscode
 声明:www.mbaike.net 博客文章版权属于作者,受法律保护。未经作者同意不得转载。
标签 ClearPasscode MDM
相关搜索

共有 0 条网友评论

还木有留言,还不抢沙发?

发布评论:

昵称: 邮箱: 验证码:
文明上网,理性发言!
© 移动互联百科(www.mbaike.net) | WAP站点 | 站长QQ:459104018 | 备案号:蜀ICP备14008230号-2