2

Perl を使用して C# で数行のコードを実行する、つまり、統合 Windows 認証を必要とする Windows サーバーで Web サービスを呼び出そうとすると、イライラします。

私が見つけた成功の可能性が最も高い候補は LWP::Authen::Ntlm と呼ばれるモジュールですが、私がグーグル検索したすべての例では、ユーザー名、パスワード、およびドメインを明示的に指定する必要があります。私はそれをしたくありません-.NETのCr​​edentialCache.DefaultCredentialsのように、現在ログインしているユーザーの資格情報を要求で使用したいだけです。

Perl の専門家で、これを行う必要があった人はいますか?

ありがとう。

4

5 に答える 5

1

Internet Explorer は、同じドメイン上のサーバーにアクセスするときに、ログオンしているユーザーをデフォルトのログオンとして使用するため、iexplore プロセスを開始してサーバー上のスクリプトを呼び出します。

ここにリストされている Win32 モジュールで OLE を使用して何かを達成できるかもしれません。Win32::API モジュールが役立つかもしれません。

于 2009-06-24T09:31:31.613 に答える
0

heeenはWin32::APIで順調に進んでいると思います。また、IISサーバーでNTLMハンドシェイクを管理するには、独自のユーザーエージェントをロールする必要があると思います。それはそれほど悪いことではありません、相互作用はよく理解されています。

これもSambaがあなたを助けることができる何かのようなにおいがします。周りを検索すると、統合認証をサポートするためにSamba +!IISを使用することについて多くの話題がありますが、必要なのは別の方向だけです。

于 2009-07-28T15:06:56.357 に答える
0

Webサービスは、プラットフォームやOSに依存しないように設計されています。したがって、Unix / PerlからNTLM(IWA)を実行しようとしている場合は、認証メカニズムをWS-Security仕様で提案されているものに再設計する必要があると思います。

于 2009-06-14T13:21:07.983 に答える
0

私もこれに苦労してきました。ハッシュを使用して認証するローカル プロキシを提供するCntlm http://cntlm.sourceforge.net/を使用して、可能な解決策があります。このようにして、ユーザーにパスワードの入力を 1 回要求してから、ハッシュを生成して保存できます。同じことを行い、CredentialCache.DefaultCredentials を使用し、ユーザー入力を必要としない Windows アプリを構築することが望ましいでしょう。

于 2010-04-07T11:38:09.010 に答える
0

URLにユーザー名とパスワードを渡してみましたか。

http://ユーザー名:パスワード\@$サーバー:8080

于 2009-06-10T18:02:50.650 に答える