允许用户使用URL令牌访问受保护的页面

时间:2016-03-03 13:22:38

标签: ruby-on-rails ruby authentication clearance

我正在使用Clearance gem进行身份验证。我在应用程序中有一个页面,我想允许任何人来,只要他们在URL / Session中有安全令牌。他们不一定是系统中的用户。

这是否适用于Clearance。关于我应该如何进行的任何提示。最初我认为我应该覆盖require_logincurrent_user。这是一个好方法吗?

1 个答案:

答案 0 :(得分:1)

安全令牌页面是否也允许访问已登录的用户,或所有人是否必须拥有安全令牌?

如果您必须拥有安全令牌,无论您是否使用Clearance登录,我都会通过不调用require_login来完全避免此控制器的清除(或调用{{1如果过滤器已经在你的控制器的继承树中)。然后你可以实现自己的skip_before_action :require_login来检查令牌并做任何你喜欢的事情。如果需要,您还可以为此控制器实现自己的before_action

如果页面还允许登录用户,那么我仍然会在行动前跳过清除,而是使用以下内容:

current_user

如果您想在此操作/视图中使用def require_login_or_secret_token unless params["super_secret_security_token"] == TOKEN require_login else end ,则需要覆盖current_user以返回guest对象而不是nil:

current_user