Ruby on rails mercury rails的身份验证

Ruby on rails mercury rails的身份验证,ruby-on-rails,authentication,mercury-editor,Ruby On Rails,Authentication,Mercury Editor,如何通过mercury-railsgem在/editor/*路由中添加身份验证检查 我是说,我知道你可以: 未经身份验证时隐藏指向编辑器的链接 未经身份验证时拒绝来自编辑器的更新 但我更希望用户被踢出编辑器,因为他/她有一个指向编辑器的书签,并且没有登录 PS:有人能为此创建一个mercury编辑器标签吗?否则,搜索mercury editor几乎是不可能的。A before\u filter方法可能就是您想要使用的方法 您可以添加自己的控制器,而不是从MercuryController继承

如何通过
mercury-rails
gem在/editor/*路由中添加身份验证检查

我是说,我知道你可以:

  • 未经身份验证时隐藏指向编辑器的链接
  • 未经身份验证时拒绝来自编辑器的更新
但我更希望用户被踢出编辑器,因为他/她有一个指向编辑器的书签,并且没有登录


PS:有人能为此创建一个
mercury编辑器
标签吗?否则,搜索mercury editor几乎是不可能的。

A before\u filter方法可能就是您想要使用的方法

您可以添加自己的控制器,而不是从MercuryController继承的控制器,并将路由指向您的控制器:

在config/routes.rb中:

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

class MyMercuryController < MercuryController
    before_filter :login_required
    def login_required
        ...
    end
end
class MyMercuryController
看起来mercury rails安装程序现在会询问您是否希望他们添加一些身份验证代码,如果您这样做,就会创建

lib/mercury/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
您可以在那里运行检查代码。可能类似于“如果用户登录¤t\u user.admin?”