extJS окно входа + рельсы - PullRequest
0 голосов
/ 13 апреля 2011

У меня есть cotnrol_admin:

  def login
    if request.post?
      if params[:full_name] == "mg" && params[:password] == "123"
        data = { :success => 'true', :msg => "Welcome, #{params[:full_name]}"}
        #redirect_to :action => :welcome
        #render :action => :welcome 
      else
        data = { :failure => 'true', :msg => "Username or Password wrong !"}
      end
      render :text => data.to_json, :layout => false
    end
  end

У меня есть этот login.js

var loginForm = new Ext.form.FormPanel({
    baseCls: 'x-plain',
    labelWidth: 75,
    url:'/admin/login',
    defaultType: 'textfield',
    items: [{
        fieldLabel: 'Login',
        name: 'full_name',
        anchor:'90%'  // anchor width by percentage
    },{
    fieldLabel: 'Password',
    name: 'password',
    inputType: 'password',
    anchor: '90%'  // anchor width by percentage
}],
buttons: [{
    text: 'Login',
    handler: function() {
        loginForm.getForm().submit(
            {
                method: 'POST',
                waitMsg:'Submitting...',

                reset : false,
                success : function() {
                    loginWindow.close();

                },
                failure: function(form, action){Ext.Msg.alert('Error',action.result.text)}
            });
        }
    }]

});

var loginWindow = new Ext.Window({
    title: 'Login',
    width: 300,
    height:140,
    closable:false,
    minWidth: 300,
    minHeight: 140,
    layout: 'fit',
    plain:true,
    modal:true,
    bodyStyle:'padding:5px;',
    items: loginForm
});
Ext.onReady(function(){
    loginWindow.show(this);
});

Итак, мои вопросы таковы: все работает идеально. Но когда я нажимаю кнопку обновления, эта форма входа приходит снова, как я могу избежать этого? Я думаю о сессии. право? а как интегрировать сессию в extJS или rails?

1 Ответ

1 голос
/ 13 апреля 2011

Да, ты хоть правильно, тебе нужно использовать сессию.Если вы новичок, прочитайте о управлении сессиями .Подробности сеанса, связанные с RoR, можно найти здесь .

При первом входе в систему, если пользователь предоставил правильную информацию. Вам необходимо создать сеанс и сохранить в нем некоторую информацию(для проверки сеанса).Когда пользователь снова нажмет на URL, сначала нужно проверить, действителен ли сеанс или нет.Если он действителен, вы можете просто перенаправить пользователя на домашнюю страницу приложения.В противном случае страница входа снова отображается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...