Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.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 Errbit LDAP身份验证不工作_Ruby On Rails_Ruby_Authentication_Devise_Ldap - Fatal编程技术网

Ruby on rails Errbit LDAP身份验证不工作

Ruby on rails Errbit LDAP身份验证不工作,ruby-on-rails,ruby,authentication,devise,ldap,Ruby On Rails,Ruby,Authentication,Devise,Ldap,我正在尝试安装errbit,以便更轻松地跟踪bug 我遵循了以下安装说明: 及 已安装LDAP身份验证gem: 档案: gem "devise_ldap_authenticatable", :git => "git://github.com/cschiewek/devise_ldap_authenticatable.git" 执行: rails generate devise_ldap_authenticatable:install 到目前为止一切都很顺利。Unicorn应用程序服务

我正在尝试安装errbit,以便更轻松地跟踪bug

我遵循了以下安装说明:

已安装LDAP身份验证gem:

档案:

gem "devise_ldap_authenticatable", :git => "git://github.com/cschiewek/devise_ldap_authenticatable.git"
执行:

rails generate devise_ldap_authenticatable:install
到目前为止一切都很顺利。Unicorn应用程序服务器启动时没有任何问题。 但如果我登录,我会收到以下消息:

Problem:
  Validation of User failed.
Summary:
   The following errors were found: Email can't be blank, Name can't be blank
Resolution:
   Try persisting the document with valid data or remove the validations.
堆栈跟踪:

mongoid (3.1.5) lib/mongoid/persistence.rb:335:in `fail_validate!'
mongoid (3.1.5) lib/mongoid/persistence.rb:97:in `save!'
/usr/local/lib/ruby/gems/2.1.0/bundler/gems/devise_ldap_authenticatable-350b78431dbf/lib/devise_ldap_authenticatable/model.rb:107:in `find_for_ldap_authentication'
/usr/local/lib/ruby/gems/2.1.0/bundler/gems/devise_ldap_authenticatable-350b78431dbf/lib/devise_ldap_authenticatable/strategy.rb:7:in `authenticate!'
warden (1.2.3) lib/warden/strategies/base.rb:53:in `_run!'
warden (1.2.3) lib/warden/proxy.rb:354:in `block in _run_strategies_for'
warden (1.2.3) lib/warden/proxy.rb:349:in `each'
warden (1.2.3) lib/warden/proxy.rb:349:in `_run_strategies_for'
warden (1.2.3) lib/warden/proxy.rb:319:in `_perform_authentication'
warden (1.2.3) lib/warden/proxy.rb:104:in `authenticate'
devise (3.1.1) lib/devise/controllers/helpers.rb:56:in `current_user'
devise (3.1.1) lib/devise/controllers/helpers.rb:52:in `user_signed_in?'
app/controllers/application_controller.rb:49:in `set_time_zone'
activesupport (3.2.18) lib/active_support/callbacks.rb:484:in `_run__372840598407275581__process_action__1401166438855027473__callbacks'
activesupport (3.2.18) lib/active_support/callbacks.rb:405:in `__run_callback'
activesupport (3.2.18) lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
activesupport (3.2.18) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (3.2.18) lib/abstract_controller/callbacks.rb:17:in `process_action'
actionpack (3.2.18) lib/action_controller/metal/rescue.rb:29:in `process_action'
actionpack (3.2.18) lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
activesupport (3.2.18) lib/active_support/notifications.rb:123:in `block in instrument'
activesupport (3.2.18) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (3.2.18) lib/active_support/notifications.rb:123:in `instrument'
actionpack (3.2.18) lib/action_controller/metal/instrumentation.rb:29:in `process_action'
actionpack (3.2.18) lib/action_controller/metal/params_wrapper.rb:207:in `process_action'
actionpack (3.2.18) lib/abstract_controller/base.rb:121:in `process'
actionpack (3.2.18) lib/abstract_controller/rendering.rb:45:in `process'
actionpack (3.2.18) lib/action_controller/metal.rb:203:in `dispatch'
actionpack (3.2.18) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
actionpack (3.2.18) lib/action_controller/metal.rb:246:in `block in action'
actionpack (3.2.18) lib/action_dispatch/routing/route_set.rb:73:in `call'
actionpack (3.2.18) lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
actionpack (3.2.18) lib/action_dispatch/routing/route_set.rb:36:in `call'
actionpack (3.2.18) lib/action_dispatch/routing/mapper.rb:43:in `call'
journey (1.0.4) lib/journey/router.rb:68:in `block in call'
journey (1.0.4) lib/journey/router.rb:56:in `each'
journey (1.0.4) lib/journey/router.rb:56:in `call'
actionpack (3.2.18) lib/action_dispatch/routing/route_set.rb:608:in `call'
rack-ssl-enforcer (0.2.6) lib/rack/ssl-enforcer.rb:51:in `call'
hoptoad_notifier (2.4.11) lib/hoptoad_notifier/rack.rb:27:in `call'
mongoid (3.1.5) lib/rack/mongoid/middleware/identity_map.rb:34:in `block in call'
mongoid (3.1.5) lib/mongoid/unit_of_work.rb:39:in `unit_of_work'
mongoid (3.1.5) lib/rack/mongoid/middleware/identity_map.rb:34:in `call'
warden (1.2.3) lib/warden/manager.rb:35:in `block in call'
warden (1.2.3) lib/warden/manager.rb:34:in `catch'
warden (1.2.3) lib/warden/manager.rb:34:in `call'
actionpack (3.2.18) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
rack (1.4.5) lib/rack/etag.rb:23:in `call'
rack (1.4.5) lib/rack/conditionalget.rb:35:in `call'
actionpack (3.2.18) lib/action_dispatch/middleware/head.rb:14:in `call'
actionpack (3.2.18) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
actionpack (3.2.18) lib/action_dispatch/middleware/flash.rb:242:in `call'
rack (1.4.5) lib/rack/session/abstract/id.rb:210:in `context'
rack (1.4.5) lib/rack/session/abstract/id.rb:205:in `call'
actionpack (3.2.18) lib/action_dispatch/middleware/cookies.rb:341:in `call'
actionpack (3.2.18) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
activesupport (3.2.18) lib/active_support/callbacks.rb:405:in `_run__2041107628848191489__call__2819675434513924104__callbacks'
activesupport (3.2.18) lib/active_support/callbacks.rb:405:in `__run_callback'
activesupport (3.2.18) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
activesupport (3.2.18) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (3.2.18) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
rack (1.4.5) lib/rack/sendfile.rb:102:in `call'
actionpack (3.2.18) lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
actionpack (3.2.18) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
actionpack (3.2.18) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
railties (3.2.18) lib/rails/rack/logger.rb:32:in `call_app'
railties (3.2.18) lib/rails/rack/logger.rb:16:in `block in call'
activesupport (3.2.18) lib/active_support/tagged_logging.rb:22:in `tagged'
railties (3.2.18) lib/rails/rack/logger.rb:16:in `call'
actionpack (3.2.18) lib/action_dispatch/middleware/request_id.rb:22:in `call'
rack (1.4.5) lib/rack/methodoverride.rb:21:in `call'
rack (1.4.5) lib/rack/runtime.rb:17:in `call'
activesupport (3.2.18) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
rack (1.4.5) lib/rack/lock.rb:15:in `call'
rack-cache (1.2) lib/rack/cache/context.rb:136:in `forward'
rack-cache (1.2) lib/rack/cache/context.rb:143:in `pass'
rack-cache (1.2) lib/rack/cache/context.rb:155:in `invalidate'
rack-cache (1.2) lib/rack/cache/context.rb:71:in `call!'
rack-cache (1.2) lib/rack/cache/context.rb:51:in `call'
hoptoad_notifier (2.4.11) lib/hoptoad_notifier/user_informer.rb:12:in `call'
railties (3.2.18) lib/rails/engine.rb:484:in `call'
railties (3.2.18) lib/rails/application.rb:231:in `call'
railties (3.2.18) lib/rails/railtie/configurable.rb:30:in `method_missing'
rack (1.4.5) lib/rack/deflater.rb:13:in `call'
unicorn (4.6.3) lib/unicorn/http_server.rb:552:in `process_client'
unicorn (4.6.3) lib/unicorn/http_server.rb:632:in `worker_loop'
unicorn (4.6.3) lib/unicorn/http_server.rb:500:in `spawn_missing_workers'
unicorn (4.6.3) lib/unicorn/http_server.rb:142:in `start'
unicorn (4.6.3) bin/unicorn_rails:209:in `<top (required)>'
/usr/local/bin/unicorn_rails:23:in `load'
/usr/local/bin/unicorn_rails:23:in `<main>'
我做错了什么

更新:

到目前为止,它仍然有效。 但我仍在谈论另一个问题:

Mongoid::Errors::Validations (
Problem:
  Validation of User failed.
Summary:
  The following errors were found: Name can't be blank
Resolution:
  Try persisting the document with valid data or remove the validations.):
  app/controllers/application_controller.rb:48:in `set_time_zone'

我试图删除LDAP验证,但也没有成功。

如果这个答案来得太晚,我很抱歉。下面是我为获得一个正常工作的LDAP设置所做的工作

在app/models/users.rb中,我添加了以下方法:

  def ldap_before_save
    name = Devise::LDAP::Adapter.get_ldap_param(self.username, "givenName")
    surname = Devise::LDAP::Adapter.get_ldap_param(self.username, "sn")
    mail = Devise::LDAP::Adapter.get_ldap_param(self.username, "mail")

    self.name = (name + surname).join ' '
    self.email = mail.first
  end
在config/initializers/designe.rb中,设置以下参数

  config.ldap_create_user = true
  config.ldap_use_admin_to_bind = true
创建包含以下内容的新文件config/initializers/designe_ldap.rb:

  Errbit::Config.devise_modules << :ldap_authenticatable

Errbit::Config.designe_modules您好,谢谢您的帮助。但我仍然收到一条错误消息。我把它添加到原始请求中
  Errbit::Config.devise_modules << :ldap_authenticatable