在before_filter中重定向并继续原始请求

时间:2016-11-03 11:30:28

标签: ruby-on-rails redirect

在我的应用中,我使用OAuth在其他来源中进行身份验证,因此我需要为每个用户保留其令牌。我在我称之为ajybUYBD74883bj8d74NJ的实体中存储令牌。这样,我想在创建和更新某些模型之前检查openid是否有效(令牌未过期)。对象。如果令牌已过期,我想将用户重定向到登录,然后继续执行被登录(创建,更新等)中断的操作。 我的想法是将openids保存在cookie中,然后,当授权结束时,在启动登录方法回调时调用的方法中,使用request.fullpath将用户重定向到上一个操作。

例如,redirect_to cookies[:auth_back_path]方法需要调用PATCH请求。 update仅提供redirect_to方法。

所以我在其中一个控制器中(GET):

ones_controller.rb

可以,请任何人告诉我,我怎样才能以正确的方式制作它?我真的很想知道这一切是怎么回事。

P.S .: 我读here强制执行before_filter :check_openids, except: [:relogin, :show] .... def check_openids unless current_user.openid_actual? cookies[:auth_back_path] = request.fullpath redirect_to '/auth' end end patch(当我打电话给delete方法时)不是一个好主意。

0 个答案:

没有答案