現在ログインしている Windows ユーザーのユーザー名を取得する必要があります。簡単にできるでしょうか?
4 に答える
ここで同じ質問: Ruby on Railsを使用してクライアントのWindowsログイン名を読み取る方法はありますか?
とにかく、以下に自分の答えをコピーするだけです...
これは私にとってはうまくいきましたが、いくつかの制限があります:
これらの問題を気にしない場合は、先に進んでください。
Rails アプリケーションで、Rekado の gem を Gemfile に追加します。
gem 'ntlm-sso', '=0.0.1'
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
application.rb
ファイルに次の行を追加します。config.middleware.use "NTLMAuthentication"
ビューまたはコントローラーを呼び出し
request.env["REMOTE_USER"]
て、現在のユーザー名を取得します。
PS: Chrome で動作させる方法や、ユーザーの資格情報を検証する方法が見つかった場合はお知らせください。
私の知る限り、Microsoft フレームワークの Web サイトを必要とする Active Directory を使用していない限り、Rails で方法を見つけることはできないと思います。
ここで役立つディスカッション ポイントがいくつかあります。PHP で Windows (AD) ユーザー名を取得できますか?