代码之家  ›  专栏  ›  技术社区  ›  Rodrigo

在同一型号上安装两个示波器

  •  0
  • Rodrigo  · 技术社区  · 5 年前

    我试着用相同的方法设置两个不同的作用域 User 模型。

    路由.rb

    devise_scope :consumer do
      get "/login" => "consumer/sessions#new", :as => 'login'
    end
    devise_for :consumers,
               class_name: 'User',
               controllers: { sessions: 'consumer/sessions' },
               path_names: {
                 verify_authy: "/verify-token",
                 enable_authy: "/enable-two-factor"
               }
    
    devise_scope :provider do
      get "/provider/login" => "provider/sessions#new", :as => 'provider_login'
    end
    devise_for :providers,
               class_name: 'User',
               controllers: {
                 sessions: 'provider/sessions',
                 confirmations: 'provider/confirmations'
               }
    
    

    这种方法的问题是,如果使用者在提供者登录窗体上使用正确的凭据,他们就可以登录。

    我看了看房间 User.find_for_database_authentication 方法,但warden不会传递正在使用的范围。 用户 类有两个范围返回提供者/使用者用户: User.providers User.consumers .

    有什么办法解决这个问题吗?

    0 回复  |  直到 5 年前