0

我想阻止除我之外的所有用户在一段时间内登录系统。我怎样才能做到这一点?

就像我以 hello.world@email.com 身份登录并且我具有从大 CSV 文件(大约 20k 记录)导入数据的功能,所以我想防止除了 hello.world@email.com 之外的其他用户在数据导入时登录.

我尝试使用:

  • 将所有用户的标志设置为已锁定:当系统增长并拥有大量用户时,此标志不好

  • 添加一个类变量来ApplicationController@@system_lock_only_for赞并将 hello.world@email.com 保留在里面并点before_filter

    if @@system_lock_only_for && @@system_lock_only_for != current_user.email
        redirect_to somewhere_path
    end
    

    但我不确定这是最好的方法。

我怎样才能更好地解决这个问题?

PS。我正在使用带有 Rails 3.2 的设计

4

2 回答 2

0

如果您不希望用户访问它,那么您可以关闭 Web 服务器并从命令行进行导入。

或者,您可以设置一个全局变量,检查每个请求并找出维护页面

于 2013-03-30T14:22:59.933 回答
0

尝试这个:

我们可以使用会话进行身份验证。

参考这个链接: https ://github.com/binarylogic/authlogic/blob/master/lib/authlogic/session/magic_columns.rb#L65

def last_request_update_allowed?
  action_name != "check_session_timed_out"
end

会话过期时使用redirect_tosomewhere_path 。而已。

于 2013-03-30T14:23:27.077 回答