Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用多个模型设置Desive_saml_authenticatable?_Ruby On Rails_Devise_Ruby On Rails 5_Activeadmin_Simplesamlphp - Fatal编程技术网

Ruby on rails 如何使用多个模型设置Desive_saml_authenticatable?

Ruby on rails 如何使用多个模型设置Desive_saml_authenticatable?,ruby-on-rails,devise,ruby-on-rails-5,activeadmin,simplesamlphp,Ruby On Rails,Devise,Ruby On Rails 5,Activeadmin,Simplesamlphp,我正在设计一个rails 5应用程序,它有两个用户模型;用户和管理员用户(活动管理员的默认设置)。我正在使用Desive进行身份验证。最初我使用的是数据库authenticatable,但现在我需要通过saml实现SSO。 我找到并成功地为一个模型(用户)设置了Desive_saml_authenticatable gem,但我不确定从哪里开始使用我的其他模型(活动用户)设置它。我在本地使用simpleSamlPhp作为身份提供者 这是我在designe.rb中对designe的配置 Devis

我正在设计一个rails 5应用程序,它有两个用户模型;用户和管理员用户(活动管理员的默认设置)。我正在使用Desive进行身份验证。最初我使用的是数据库authenticatable,但现在我需要通过saml实现SSO。 我找到并成功地为一个模型(用户)设置了Desive_saml_authenticatable gem,但我不确定从哪里开始使用我的其他模型(活动用户)设置它。我在本地使用simpleSamlPhp作为身份提供者

这是我在designe.rb中对designe的配置

Devise.setup do |config| ...

config.saml_configure do |settings|

      settings.assertion_consumer_service_url     = "http://localhost:3000/users/saml/auth"
      settings.assertion_consumer_service_binding = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
      settings.name_identifier_format             = "urn:oasis:names:tc:SAML:2.0:nameid-format:transient"
      settings.issuer                             = "http://localhost:3000/saml/metadata"
      settings.authn_context                      = ""

      settings.idp_slo_target_url                 = "http://simplesaml.dev/saml2/idp/SingleLogoutService.php"


      settings.idp_sso_target_url                 = "http://simplesaml.dev/saml2/idp/SSOService.php"

      settings.idp_cert                           = <<-CERT.chomp
-----BEGIN CERTIFICATE-----

My-Certificate-Here

-----END CERTIFICATE-----
      CERT
    end
end
我的模型:

admin_user.rb

class AdminUser < ApplicationRecord
  devise  :saml_authenticatable
end
class AdminUser
user.rb

class User < ApplicationRecord
  devise  :saml_authenticatable
end
class用户
我不知道ActiveAdmin与Desive有如此深度的集成。
design\u用于:admin\u用户,ActiveAdmin::design.config
具体做什么?把ActiveAdmin从图中去掉,我想说的是,您只需要使用
design\u为每个用户类型分别配置路由,并使用
authenticate\u用户
验证管理员用户恰当。我不知道ActiveAdmin与Desive有如此深度的集成。
design\u用于:admin\u用户,ActiveAdmin::design.config
具体做什么?把ActiveAdmin从图中去掉,我想说的是,您只需要使用
design\u为每个用户类型分别配置路由,并使用
authenticate\u用户
验证管理员用户适当。
class User < ApplicationRecord
  devise  :saml_authenticatable
end