2012-05-22 62 views
1

我想建立一个多日志系统使用Sencha触摸2,用户必须选择,如果他是代理或追随者。到目前为止,我已经能够想出一个简单的登录形式。没有功能。我的代码仅仅是这样的:建设Sencha触摸2登录系统

Ext.define("ikhlas.view.login", { 
extend: 'Ext.Panel', 
xtype: 'loginpanel', 

    config:{ 
     title: 'Login', 
     iconCls: 'more', 
     styleHtmlContent: true, 

    layout:{ 
     type: 'vbox', 

     }, 

    items: [ 
     { 
     xtype: 'fieldset', 
     iconCls: 'add', 

    items: [ 

     { 
      xtype: 'emailfield', 
      name: 'email', 
      placeHolder: 'Username' 
     }, 

     { 
      xtype: 'passwordfield', 
      name: 'password', 
      placeHolder: 'Password' 
     }, 

     { 
      xtype: 'selectfield', 
      label: 'User Type', 
      options: [ 
      {text: 'Agent', value: '0'}, 
      {text: 'Follower', value: '1'} 
      ] 
     } 

    ]}, 
     { 
      xtype: 'button', 
      text: 'LogIn', 
      ui: 'confirm', 
      width: '40%', 
      height: '7%', 
      flex: 1, 
      left: '55%', 
      action: 'submitContact' 
     }, 
     { 
      xtype: 'button', 
      text: 'Forgot Username', 
      ui: 'confirm', 
      width: '41%', 
      height: '4%', 
      top: '90%', 
      flex: 1, 
      action: 'ForgotUsername' 
     }, 
     { 
      xtype: 'button', 
      text: 'Forgot Password', 
      ui: 'confirm', 
      width: '40%', 
      height: '4%', 
      top: '90%', 
      flex: 1, 
      left: '47%', 
      action: 'ForgotPassword' 
     }, 
    ]} 
}); 

现在我想知道我如何从一个API(网址将被给予)验证用户信息(用户名和密码),以确认登录的用户名和密码是正确的,才能被允许访问应用程序。其次,如果用户名或密码不正确,我想抛出一条错误消息。

+0

你打算使用哪种服务器端语言? – fuzzyLikeSheep

回答

0

很明显,你必须认证服务器端。假设你已经有一个,所以剩下的不是很困难。

最简单的方法就是发送Ext.Ajax.request

Ext.Ajax.request({ 
     url: your_API_url, 
     params: { 
         username: your_username_from_formpanel, 
         password: your_password_from_formpanel 
        }, 
     timeout: 10000, // time out for your request 

     success: function(result) { 
         // here, base on your response, provide suitable messages 
         // and further processes for your users 
     }, 

     failure: function(){ 
      Ext.Msg.alert("Could not connect to server."); 
     } 
    }); 

注:出于安全原因,你应该把它发送给服务器之前加密你的用户的密码。

+0

嗨Thiem阮,感谢您的回应,此刻我不认证我的服务器端,是否有可能可以帮助我一个PHP脚本的身份验证。其次,我如何加密密码?用一些脚本帮助我。如果可能的话,我需要一个可以处理SQL注入的脚本,以便让应用程序无法破解或降低整个应用程序的安全性。非常感谢。我的数据库名称是:ikhlas,表格将是ikalas_logs –