ruby-on-rails - Rails : admin-only maintenance mode

标签 ruby-on-rails ruby-on-rails-3 authorization maintenance

我想将我的应用程序设置为维护模式,但仍然可以让管理员/版主登录并使用该网站。两个原因:

  • 我正在应用程序中进行一些更改,最好使用应用程序内界面而不是控制台进行更改。
  • 主持人无权访问控制台,但可以绝对帮助我们完成前面的维护任务。

  • 您将如何建议您完成此操作?我一直在尝试设置环境变量ADMIN_MODE并在设置为true时更改所有权限,但这似乎很笨拙而且很慢。

    我正在使用CanCan和Devise,尽管这是值得的,但我绝对乐于接受任何建议。

    谢谢!

    最佳答案

    这可能是一个相当简单的解决方案:

    class ApplicationController < ActionController::Base
      before_filter :check_admin_mode
    
      protected
    
      def check_admin_mode
        if ENV['ADMIN_MODE'] && controller_name != 'sessions' && !current_user.admin?
          redirect_to '/maintenance.html'
        end
      end
    end
    

    关于ruby-on-rails - Rails : admin-only maintenance mode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6674298/

    相关文章:

    mysql - 正在测试的 Rails : database configuration does not specify adapter production

    ruby-on-rails - 工具提示截断

    html - rails : load table cells two across at a time

    ruby-on-rails - 如果请求是 xhr,Rails 有没有办法跳过 before_filter?

    ruby-on-rails-3 - Rails 3.2 + Require.js?

    ruby-on-rails - 如何更新单击按钮后呈现的部分?

    oauth-2.0 - 如何实现 OAuth 2.0 授权服务器?

    JSF:认证和授权,最好的前进方式

    php - Laravel 在主帐户上为所有员工提供服务

    ruby-on-rails - rails-如何根据时间/日期更新属性