我正在使用清关宝石进行认证。我在应用程序中有一个页面,只要他们在URL /会话中有一个安全令牌,我就允许任何人来。他们不必是系统中的用户。
有权限就可以了吗。关于我该怎么做的任何暗示。起初,我认为我应该重写require_login
和current_user
。这是个好办法吗?
发布于 2016-03-04 11:35:47
安全令牌页面是否也允许访问已登录的人,还是每个人都必须拥有安全令牌?
如果您必须拥有安全令牌,不管您是否使用权限登录,那么我将通过完全不调用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,则需要重写current_user
返回一个来宾对象,而不是零:
def current_user
super || Guest.new
end
https://stackoverflow.com/questions/35773383
复制相似问题