Hola, estoy probando el plugin :
[Acts as Authenticated]Cuando lo tengo medio comprendido y medio
instalado
en un pequeña aplicación que tenÃa sin gestión de usuarios me da por
copiar
esta URL:
http://localhost:3000/account/edicion_usuarios
Esta es una dirección que no puedo ver si no me logeo como ADMIN de mi
App.
Pero resulta que la he copiado y la he pegado en una ventana nueva y me
deja acceder sin redirigirme a la pantalla del login. 
¿Cómo puedo evitar esto? CREO QUE ES UN FALLO GORDO ¿NO?
No se si me he explicado
gracias de antemano por vuestra ayuda
Un saludo
La autenticación es a nivel de todas las ventanas/tabs que tengas
abiertas en el mismo browser. Es decir, que si no haces logout en la
primera ventana, seguiras logueado en cualquier ventana/tab.
O sea, que es el comportamiento esperado.
El 18/10/07, Andrés gutiérrez [email protected]
escribió:> Hola, estoy probando el plugin :
On 18/10/2007, Andrés gutiérrez [email protected] wrote:
Esta es una dirección que no puedo ver si no me logeo como ADMIN de mi App.
Pero resulta que la he copiado y la he pegado en una ventana nueva y me
deja acceder sin redirigirme a la pantalla del login. 
¿Cómo puedo evitar esto? CREO QUE ES UN FALLO GORDO ¿NO?
También puede ser que estés LOGADO CON COOKIE porque hayas puesto el
before_filter :login_from_cookie
Eso sin descartar que no tengas puesto correctamente el
:login_required. Show code.
–
Manuel, que
piensa que eres una excelente persona y medra en torno a
http://simplelogica.net y/o http://simplelogica.net/logicola/
Recuerda comer mucha fruta y verdura.
Hola Andrés,
A estas alturas seguro que hay unos cuantos miles de programadores
usando acts_as_authenticated así que es poco probable que tenga un fallo
tan gordo como el que comentas 
- Cerraste todas las ventanas/tabs de tu
aplicación?- Tienes desactivado el remember_me?
Saludos,
Raul M.
Gracias por vuestras respuestas teneis razon en todo menos en lo mas
basico
que si lo he hecho (cerrar el navegador. Incluso reiniciar el server
[mongrel]).
investigare lo del
-Remember_me
-before_filter :login_from_cookie
A ver que pasa.
Muchas gracias
El dÃa 18/10/07, Raul M. [email protected] escribió:
Me estoy liando un poco con esto de las cookies. He quitado
before_filter :login_from_cookie
del controller ACOUNT que es donde tengo los metodos de login, logout,
singup,…
Pero nada. Cierro las ventanas y el navegador vuelvo a meter la URL que
solo
puede ver el admin y la puedo ver
Yo ya se que no es un problema del Plugin (mejor para todos). pero aun
asi
me gustarÃa saber cuales son mis opciones en este tema. ¡como se tiene
que
gestionar el tema de la persistencia de la información’
NOTA1:
Lo que me ha dicho Manuel:
Eso sin descartar que no tengas puesto correctamente el
:login_required. Show code.
no lo he entendido. yo los login_required los pongo asà donde quiero que
no
se entre:
class MiControladorController < ApplicationController
before_filter :login_required
Lo que ha dicho Raul:
- Tienes desactivado el remember_me?
¿Cómo se desactiva’ Llevo dos dias con este plugin y se que esta en :
lib/AuthenticatedSystem.rb, pero no se como se configuran las opciones
NOTA2:
Las dos dudas despues de NOTA1 las tengo porque se muy poco, pero aun
asi
estoy disfrutando como un enano
Un saludo
Andrés gutiérrez
escribió:> Me estoy liando un poco con esto de las cookies. He quitado
before_filter :login_from_cookie
del controller ACOUNT que es donde tengo los metodos de login, logout,
singup,…
¿Has quitado también ese filtro del controlador al que sólo puede
acceder el admin? (Ése al que no deberías poder acceder sin logarte).
Vigila también que no lo tengas en el ApplicationController, pues lo
heredarían todos tus controladores.
Saludos,
Raul M.
Lo único que tengo en ApplicationController de este plugin es [include
AuthenticatedSystem]
y los dos único filtros que estoy aplicando en toda la App son estos 2.
def admin_required
username, passwd = get_auth_data
self.current_user ||= User.authenticate(username, passwd) ||
:false if
username && passwd
logged_in? && authorized? ? true : access_denied_admin
end
def login_required
username, passwd = get_auth_data
self.current_user ||= User.authenticate(username, passwd) ||
:false if
username && passwd
logged_in? ? true : access_denied
else
end
como puedes ver [admin_required] es una copia de [login_required]. Esto
es
mio. Casi seguro que es una chapuza, lo he hecho para aprovechar esto.
def authorized?
return current_user.is_admin?
end
Asi a los metodos que les pase el metodo [admin_required] comprobara si
en
la BBDD el campo [is_admin] es TRUE.
No sé. Estoy leyendo la página oficial en ingles y no me entero mucho.
un saludo
Andrés gutiérrez
escribió:> Lo único que tengo en ApplicationController de este plugin es [include
AuthenticatedSystem]
y los dos único filtros que estoy aplicando en toda la App son estos 2.(…)
como puedes ver [admin_required] es una copia de [login_required]. Esto
es mio.
Por aislar un poco el problema: ¿has comprobado si te funciona todo
correctamente sin utilizar tu admin_required? Si has personalizado el
sistema de autenticación quizá deberías usar pastie[1] para que podamos
ver cómo ha quedado y el código del controlador que te da problemas.
Saludos,
Raul M.
[1] http://pastie.caboo.se/
Esto de pastie es para que yo pege el codigo y se pueda ver de una URL?
El dÃa 18/10/07, Raul M. [email protected] escribió:
Andrés gutiérrez
escribió:> Esto de pastie es para que yo pege el codigo y se pueda ver de una URL?
Sí, es mucho más cómodo que leerlo en el cliente de correo, además
ofrece resaltado de sintaxis.
Saludos,
Raul M.
Si, ademas te resalta la sintaxis.
SOLO UNA DUDA, PARA EL RESALTADO DE SINTAXIS TE TIENES QUE REGISTTRAR
¿DONDE?
El dÃa 18/10/07, Raul M. [email protected] escribió:
Cuando le das Paste ya te resalta el codigo, no te tenes que registrar.
bueno, pues aqui esta mi Authenticated_system.rb
http://pastie.caboo.se/108589
lo que esta con !! es lo que he tocado, bueno, solo los
flash[:notice]=“en
castellano”
Lo que quiere decir Manuel es que muestres el código de tu aplicación
para
poder ayudarte.
saludos,
Juan P…
bueno gente, me estais ayudando muchisimo, pero ahora tengo que dejarlo.
aunque toda vuestra ayuda sera bien recibida y bien leida mañana a
primenra
hora
un saludo
El dÃa 18/10/07, Andrés gutiérrez [email protected] escribió:
El método is_admin? donde esta definido? en el modelo User supongo. Ese
código como es?
El “metodo” is_admin, no es un metodo (que yo sepa, y creo que lo sé).
es un
campo de la tabla USERS si es lo que quieres decir y lo que hago es
sacarlo
de los valores que quedan recogidos en current_user
def current_user
@current_user ||= (session[:user] && User.find(session[:user])) ||
:false
#User.find_by_id(session[:user]))
end
def authorized?
return current_user.is_admin?
end
Un saludo
El dÃa 18/10/07, Juan P. [email protected] escribió: