2011-11-09 11 views
6

¿Cómo se agregan verificaciones de autenticación en las rutas /editor/.* en Mercury a través de la gema mercury-rails?autenticación con mercury-rails

Quiero decir, sé que puedes:

  • ocultar el enlace al editor cuando no está autenticado.
  • rechazan las actualizaciones del editor cuando no están autenticadas.

Pero yo preferiría el usuario será expulsado del editor en caso que él/ella tiene un marcador para el editor y no se registra en

PS:. Alguien puede crear una etiqueta para este mercury-editor ? De lo contrario, buscar mercurio-editor es casi imposible.

Respuesta

3

Parece que ahora el mercurio-carriles instalador le preguntará si desea que añadir un poco de código de autenticación, y si lo haces crea

lib/mercurio/authentication.rb

module Mercury 
    module Authentication 

    def can_edit? 
     true # check here to see if the user is logged in/has access 
    end 
    end 
end 

Donde se puede ejecutar el código de verificación en ese país. Tal vez algo así como "if user_signed_in? & & current_user.admin?"

7

Es probable que un método before_filter sea lo que desea usar.

Se podía añadir su propio controlador que hereda de la MercuryController y señalar las rutas a su controlador:

En config/routes.rb:

... 
match '/editor(/*requested_uri)' => "my_mercury#edit", :as => :mercury_editor 
Mercury::Engine.routes 
... 

Y app/controllers/my_mercury_controller.rb

class MyMercuryController < MercuryController 
    before_filter :login_required 
    def login_required 
     ... 
    end 
end 
Cuestiones relacionadas