6

Firefox が NTLM データを SharePoint サイトに送信して自動認証を実行できるようにすることができると思います。これは IIS で実行できると思います。

内部 Rails サイトで同じことをしたいと思います。

Apache/mongrel セットアップを介して NTLM タイプのユーザー情報を認証する方法を知っている人はいますか (もちろん、Active Directory ドメイン内の Windows ボックスで既に実行されている場合)。

4

7 に答える 7

10

Linux に Apache 用のパッチを適用した mod_ntlm モジュールをインストールする方法と、NTLM 認証済みユーザー名を Rails に渡す方法、およびそこから Rails セッションを作成する方法に関するチュートリアルを作成しました。したがって、Rails アプリケーションを実行するために Windows サーバーは必要ありません。

そこには、Firefox で自動 NTLM 認証を有効にする方法も記載されています。場所フィールドに「about:config」と入力し、「network.automatic-ntlm-auth.trusted-uris」を検索してください。ここで、自動 NTLM 認証を使用するサーバーを入力できます。

于 2008-12-02T16:20:05.847 に答える
4

誰かがこれに出くわした場合に備えて、ちょっとした追加情報。

Mongrel / Windows(実際にはInstantRails)で実行されているRailsアプリからNTLMを使用して、ユーザーのWindowsユーザー名を抽出するという、非常に単純なはずのことをしたかったのです。さまざまなハンドシェーク操作を管理する基本的なコードを書き ( http://rubyforge.org/projects/rubyntlm/の優れた NTLMRuby ライブラリを使用)、Firefox で見事に動作するようになったので、IE が動作しないことに少し不満を感じました。

Mongrel は、タイプ 1/2/3 メッセージ交換中のキープアライブをサポートしていません (少なくともネイティブには、ハック/修正があると思います)。

そのため、Windows で実行されている Rails サーバーをリモート NTLM サービス (Sharepoint や別の Web サイトなど) に対して認証することはかなり簡単ですが、Windows で実行されている Rails サーバーに対して IE ブラウザーを認証することは、Mongrel ではそれほど難しくありません。FastCGI を使用した基本的な Apache と同様に、IIS もオプションの 1 つです。前者は少しぎこちなく、後者は Mongrel ほど速くはありません。

于 2009-09-17T17:08:07.100 に答える
2

私が知っている古い質問ですが、私は同様の答えを探してこれに出くわしました。

ここで説明されている方法を使用できます(http://blog.rayapps.com/2008/12/02/ntlm-windows-domain-authentication-for-rails-application/)。ただし、mod_ntlmは、UNIX/LinuxマシンでのWindows認証用です。mod_auth_sspiは、WindowsでのapacheからのwinNT認証に必要なものです。

于 2009-03-16T19:08:48.063 に答える
2

Firefox と IE に NTLM 認証情報を送り返すために送信する必要がある HTTP ヘッダーは既にわかっていて、サーバー側でそれを処理する必要があるだけだと思いますか?

Ruby のwin32 ライブラリの一部を使用して、NTLM を処理する基盤となる Windows 認証機能にアクセスできます。

最も抵抗の少ない方法は、認証を実行できる COM コンポーネントがあるかどうかを確認し、ある場合は Win32OLE ruby​​ ライブラリを使用してそれを使用することです。

COM コンポーネントがない場合は、ネイティブの win32 メソッドを呼び出すことができる他のライブラリのいずれかで何かを見つけることができるかもしれません。

それが見つからない場合は、Ruby C 拡張機能を作成する必要があります。私はこれを Linux で実行しました。Ruby の拡張は非常に簡単ですが、Microsoft 認証 API は少し面倒だと感じるかもしれません。

あなたが正しい道を歩み始めることを願っています:-)

于 2008-09-29T21:13:29.160 に答える
2

Apache ntlm モジュールを使用することもできます。このモジュールは、認証されたユーザーのユーザー名を含むヘッダーをアプリケーションに渡します。そのモジュールは少し古いように見えますが、ニーズに合った他のモジュールを提案しています。

于 2008-09-30T15:10:26.653 に答える
2

この特定のプロジェクトは有望に見え、貢献者を探しています。

私はまだこれを試していません。当面は、Raimonds のソリューションが多くの成功を収めているように見えるので、それを実装することを計画しています。

于 2010-04-08T16:58:47.850 に答える
0

ワッフルをチェックしてください。Win32 API を使用して、Windows 上の SSO を Java サーバーに提供します。実装されたフィルターが多数あります (サーブレット、Tomcat バルブ、Spring-Security)。

于 2010-07-27T13:43:41.050 に答える