1

現在ログインしている Windows ユーザーのユーザー名を取得する必要があります。簡単にできるでしょうか?

4

4 に答える 4

0

ここで同じ質問: Ruby on Railsを使用してクライアントのWindowsログイン名を読み取る方法はありますか?

とにかく、以下に自分の答えをコピーするだけです...


これは私にとってはうまくいきましたが、いくつかの制限があります:

これらの問題を気にしない場合は、先に進んでください。

  1. Rails アプリケーションで、Rekado の gem を Gemfile に追加します。gem 'ntlm-sso', '=0.0.1'

  2. config/initializers/ntlm-sso.rb以下を使用して初期化子を作成します。

    require 'rack'
    require 'rack/auth/ntlm-sso'
    
    class NTLMAuthentication
      def initialize(app)
        @app = app
      end
    
      def call(env)
        auth = Rack::Auth::NTLMSSO.new(@app)
        return auth.call(env)
      end
    end
    
  3. application.rbファイルに次の行を追加します。config.middleware.use "NTLMAuthentication"

  4. ビューまたはコントローラーを呼び出しrequest.env["REMOTE_USER"]て、現在のユーザー名を取得します。

PS: Chrome で動作させる方法や、ユーザーの資格情報を検証する方法が見つかった場合はお知らせください。

于 2015-06-15T22:12:33.757 に答える
0

私の知る限り、Microsoft フレームワークの Web サイトを必要とする Active Directory を使用していない限り、Rails で方法を見つけることはできないと思います。

ここで役立つディスカッション ポイントがいくつかあります。PHP で Windows (AD) ユーザー名を取得できますか?

于 2013-06-13T14:51:12.737 に答える