# ExtJs + restful\_authentication

**URL:** <https://www.ruby-forum.com/t/extjs-restful-authentication/130230>\
**Category:** IT\
**Created:** [February 26, 2008, 3:59pm UTC](https://www.ruby-forum.com/t/extjs-restful-authentication/130230 "2008-02-26T15:59:26Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![carminem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/90db22/32.png) [@carminem](https://www.ruby-forum.com/u/carminem)\
**Post date:** [February 26, 2008, 3:59pm UTC](https://www.ruby-forum.com/t/extjs-restful-authentication/130230/1 "2008-02-26T15:59:26Z")

</div>

Salve a tutti,

StÃ² cominciando a giocare con ExtJs e Rails e mi sono arenato durante la  
realizzazione del pannello di login.

Premetto che ho utilizzato i generatori di “restful\_authentication” per  
creare “user” e “sessions”.

Ho, quindi, modificato l’action “create” del controller sessions in  
questo modo:

def create  
self.current\_user = User.authenticate(params[:user][:login],  
params[:user][:password])  
if logged\_in?  
flash[:notice] = “Logged in successfully”  
respond\_to do |format|  
format.js { head :ok }  
end  
else  
flash[:notice] = “Login failed”  
respond\_to do |format|  
format.js { head :status =\> 500 }  
end  
end  
end

ed implementato la vista “new” per lo stesso controller come segue:

\<% javascript\_tag do -%\> Ext.onReady(function(){

```
Ext.QuickTips.init();

var loginFields = [
{ fieldLabel: 'Login', minLength: 4, xtype: 'textfield', name:

```

‘user[login]’, allowBlank: false, blankText: ‘Per poter accedere Ã¨  
necessario specificare il login!’},  
{ fieldLabel: ‘Password’, xtype: ‘textfield’, inputType: ‘password’,  
name: ‘user[password]’, minLength: 4, minLengthText: ‘La password deve  
essere lunga almeno 8 caratteri!’, allowBlank: false, blankText:  
‘Occorre specificare una password valida per poter accedere!’},  
];

```
var loginForm = new Ext.form.FormPanel({
  title: 'Accesso al sistema',
  frame: true,
  defaults: { width: 200 },
  bodyStyle: 'padding 5px 5px 0',
  labelAlign: 'right',
  labelWidth: 75,
  width: 300,
  buttons: [{text: 'login', type: 'submit', handler:function(){
    loginForm.getForm().submit({
      url: '/session',
      method: 'POST',
      params: { authenticity_token: '<%= form_authenticity_token %>'

```

},  
success: function(){ alert(‘ok’); window.location.href =  
‘/welcome’; },  
failure: function(){ alert(‘errore’); window.location.href =  
‘/login’;}  
});  
}}],  
buttonAlign: ‘center’,  
renderTo: ‘login\_form’,  
items: loginFields  
}  
);

});  
\<% end -%\>

A questo punto, se durante il login:

- Inserisco credenziali errate  
Mi appare il messaggio “errore” e vengo riportato alla schermata di  
login.

- Inserisco le credenziali giuste  
Non succede un bel nulla.

Le named route “/welcome” e “/login” sono rispettivamente:

map.welcome ‘/welcome’, :controller =\> ‘welcome’, :action =\> ‘index’  
map.login ‘/login’, :controller =\> ‘sessions’, :action =\> ‘new’

Dopo aver inserito le credenziali corrette, se digito a mano  
l’indirizzo:  
[http://localhost/3000/welcome](http://localhost/3000/welcome)

vengo riportato alla schermata corretta.

Dove sbaglio?  
Grazie in anticipo per il Vs aiuto

---

<div class="post-metadata">

**Author:** ![carminem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/90db22/32.png) [@carminem](https://www.ruby-forum.com/u/carminem)\
**Post date:** [February 26, 2008, 5:30pm UTC](https://www.ruby-forum.com/t/extjs-restful-authentication/130230/2 "2008-02-26T17:30:00Z")

</div>

Mi rispondo da solo,

L’errore che ho commesso Ã¨ quello di aver dimenticato la natura delle  
richieste che vengono fatte tramite ExtJs. Sono AJAX.

Pertanto, il format.js deve essere { render(:update){|page|  
page.redirect\_to welcome\_path } }

per far si che tutto funzioni.

Urge ripasso attento ed approfondito.

---

<div class="post-metadata">

**Author:** ![carminem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/90db22/32.png) [@carminem](https://www.ruby-forum.com/u/carminem)\
**Post date:** [March 5, 2008, 7:17pm UTC](https://www.ruby-forum.com/t/extjs-restful-authentication/130230/3 "2008-03-05T19:17:33Z")

</div>

Carmine M. wrote:

> Mi rispondo da solo,
> 
> L’errore che ho commesso Ã¨ quello di aver dimenticato la natura delle  
> richieste che vengono fatte tramite ExtJs. Sono AJAX.
> 
> Pertanto, il format.js deve essere { render(:update){|page|  
> page.redirect\_to welcome\_path } }
> 
> per far si che tutto funzioni.
> 
> Urge ripasso attento ed approfondito.

Ti andrebbe di collaborare a [http://rails.lipsiasoft.com/wiki/lipsiadmin](http://rails.lipsiasoft.com/wiki/lipsiadmin)  
?

---

<div class="post-metadata">

**Author:** ![carminem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/90db22/32.png) [@carminem](https://www.ruby-forum.com/u/carminem)\
**Post date:** [May 6, 2008, 4:16pm UTC](https://www.ruby-forum.com/t/extjs-restful-authentication/130230/4 "2008-05-06T16:16:56Z")

</div>

DAddYE IT wrote:

> Ti andrebbe di collaborare a [http://rails.lipsiasoft.com/wiki/lipsiadmin](http://rails.lipsiasoft.com/wiki/lipsiadmin)  
> ?

Scusami per l’enorme ritardo nel rispondere, ma solo oggi (e per caso)  
ho letto la tua replica.

Mi piacerebbe molto collaborare ma, purtroppo, non ho molto tempo nÃ¨  
(vista la complessitÃ del progetto) le capacitÃ giuste.

Uso rails da poco tempo e, fin’ora, per progetti molto semplici.

Grazie ancora!
