我在具有多个子域的rails应用程序中使用了devise gem。每个子域由相应的控制器,它看起来是这样处理的:Devise + Subdomain - 将用户重定向到sign_in
class Subdomain1Controller < ApplicationController
before_filter :authenticate_user!
def index
end
end
通过上面的控制器实现,设计始终保持子域,同时重定向用户到登录页面。在上述情况下,Devise会将用户重定向到http://subdomain1.acmesite/users/sign_in而不是常见的sign_in Url。
这导致每个子域都有多个sign_in网址。
http://subdomain1.acmesite/users/sign_in
http://subdomain2.acmesite/users/sign_in
http://subdomain3.acmesite/users/sign_in
我想知道是否有可能重写设计方法,从网址中排除子域部分,并保持前一页的网址信息。更为珍贵的是,我希望Devise将用户重定向到特定的Url(如:http://acmesite/users/sign_in),而不考虑子域,并且在成功认证后,Devise应该将用户返回给调用者子域+页面。
不错的提示。我正在尝试这个... – alf 2012-08-19 22:26:58