0

Rails 4 アプリに Authlogic を実装しました。LDAP サーバーに接続し、AD のユーザー名とパスワードで認証できます。しかし、アプリのどこでも「current_user」を呼び出すことはできません。

たとえば、私が電話するとき Welcome, <%= current_user.first_name %>

私は得る: undefined method 'first_name' for nil:NilClass

class ApplicationController < ActionController::Base

  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.

  helper :all
  protect_from_forgery with: :exception


  helper_method :current_user_session, :current_user

  private
    def current_user_session
      return @current_user_session if defined?(@current_user_session)
      @current_user_session = UserSession.find
    end

    def current_user
      return @current_user if defined?(@current_user)
      @current_user = current_user_session && current_user_session.user
    end

end

どんなアイデアでも大歓迎です。ありがとう!ケイティ

4

4 に答える 4

3

Authlogic は私の Rails 4 アプリで動作しています。current_user は問題なく動作します。もう一度試してみてください。

于 2013-07-14T16:13:59.177 に答える
0

@rhuppert、その特定の authlogic コミットは本当に私のベーコンを救ってくれました。その情報を共有してくれてありがとう。新しい Authlogic バージョン 3.3.0 および 3.4.0 は、Rails 4.0.x アプリの 1 つでは動作しなくなりましたが、あなたが言及したバージョンを使用すると ( gem 'authlogic', github: 'binarylogic/authlogic', ref: 'e4b2990d6282f3f7b50249b4f639631aef68b939' ) Rails 4.0.x で動作します。Authlogic 3.4.0 と 3.8.0 の両方で発生したエラーは (Rails ロガーからの行):

F, [2014-03-04T07:25:09.640105 #28602] FATAL -- : NameError (uninitialized constant SCrypt):
  app/controllers/user_sessions_controller.rb:15:in `create'

再度、感謝します!

于 2014-03-04T07:42:36.973 に答える
0

今日の時点で、Authlogic は Rails 4 の準備ができていません。

http://ready4rails4.net/

名前: authlogic
ステータス: 準備ができていません
注: プル リクエスト

于 2013-07-11T18:28:49.213 に答える