ホームページ  >  に質問  >  本文

PHP で Windows ドメイン共有ドライブ上のファイルへのアクセスを実装する

<p>スタンドアロン マシンに大量のドキュメントが保存されており、PHP/IIS サーバーから提供する必要があります。問題は、ドキュメント ドライブが Active Directory ドメイン マシンに接続されており、Web サーバーが接続されていないことです。そのため、PHP がドライブにアクセスするために必要な認証された AD ユーザーをどこに提供すればよいかわかりません。 </p> <p>PHP を呼び出す IIS アプリケーション プールがあり、作成した新しい Windows ユーザーとして実行されています (アプリケーション プールの場合は「Identity」、Web サイトの場合は匿名認証ユーザーに設定)。この新しいユーザーとしてサーバーにログインし、マップされたネットワーク ドライブを設定しましたが、調べた結果、これは行き止まりだと思いました。サービスは、マップされたドライブをマウントするような方法では Windows にログインしないと読みました。 </p> <p>IP アドレスのみによる参照は機能に近づいていますが、認証エラーが発生します。オンラインで見つけた主な解決策は、ドライブにアクセスできるユーザーとしてアプリケーション プールを実行することですが、サーバーがその Windows ドメインにないため、それが可能かどうかはわかりません。 (ただし、私は AD の専門家でもありません)</p> <pre class="brush:php;toolbar:false;">echo shell_exec('whoami'); //作成した Windows ユーザーの名前を出力します echo scandir('\\\\192.168.1.120\\data$'); //ユーザー名/パスワードが見つかりません echorim(shell_exec('dir \\\\192.168.1.120\\data$ 2>&1')); //ユーザー名またはパスワードが間違っています echo scandir('Z:\\'); // パスが見つからないという PHP 警告 echo trim(shell_exec('dir Z: 2>&1')); //パスが見つかりません</pre> <p>シンプルでハッキングのない解決策がない場合は、顧客が Web サーバーを AD ドメインに配置できるかどうかを確認できますが、それが他のサービスに意図しない副作用をもたらすかどうかはわかりません。サーバーが実行中です。 </p>
P粉323224129P粉323224129388日前417

全員に返信(1)返信します

  • P粉765570115

    P粉7655701152023-08-31 18:06:03

    これらがパブリックであり、ユーザーがディレクトリに対して認証する必要がない場合は、それらをドメインに入れないでください。ただし、何らかの認証が必要な場合、または AD から情報を検索する必要がある場合は、DMZ で Active Directory アプリケーション モード (ADAM) を実行することを検討してください。 ADAM は標準の AD パーティションを同期しないため、関連する情報を AD からアプリケーション パーティションにコピーする必要がある場合があります。

    もちろん、Web サーバーがドメイン コントローラーと同じネットワーク上にある場合は、Web サーバーをドメインに追加して管理性を高めることができます。

    返事
    0
  • キャンセル返事