ホームページ  >  記事  >  php教程  >  詳しく書きます: Win32 での Apache のユーザー認証の具体的な実装 (原文)

詳しく書きます: Win32 での Apache のユーザー認証の具体的な実装 (原文)

WBOY
WBOYオリジナル
2016-06-21 09:12:30989ブラウズ

apache|オリジナル

Win32 での Apache ユーザー認証の具体的な実装
皆さんが使用している検証方法はたくさんあると思いますが、Win32 環境での Apache ユーザー認証の設定方法については、マニュアルでは Unix での設定についても紹介されています。 Linux 環境の場合、win32 環境で Apache を探索するのに苦労している人は多いはずです。私の経験をもとに、Win32 環境で Apache のユーザー認証機能を実装した方法を紹介します。

方法 1: シングルユーザー モードを使用して、ディレクトリに特定のユーザーまたは複数のユーザーのみがアクセスできるようにします。
Apache の Web ルート ディレクトリが d:/home で、対応する URL が http://localhost/ であると仮定します。
d:/home/test ディレクトリを特定のユーザーのみがアクセスできるようにしたい場合、ディレクトリの対応する URL は http://localhost/test です。この URL にアクセスすると、確認ダイアログ ボックスがポップアップする必要があります。
d:/users ディレクトリは、パスワード ファイル user.passwd の保存に使用されます

1. ユーザー パスワード ファイルを作成します
コマンド ライン モードで、最初に Apache 独自のツール htpasswd.exe を使用して生成しますuser.passwd というパスワード ファイル。-c パラメータは新しいファイルを示し、パラメータがない場合はパスワード ファイルへのユーザーの追加を示します。
D:apachebin>htpasswd -bc d:/users/user.passwd user1 123456
このようにして、user1:$apr1 というテキスト行を含む d:/users/user.passwd パスワード ファイルが生成されます。 $4S3. ....$.su.8AIrDEYMX7jKv2RT9/
ユーザー user1 が正常に追加されました。他のユーザーを追加する場合は、
D:apachebin>htpasswd -b d:/users を追加してください。 /user .passwd user2 123456
D:apachebin>htpasswd -b d:/users/user.passwd user3 123456

ユーザーを追加したら、ユーザー検証の実装を開始できます。

2. アクセス検証ファイルを作成します。htaccess
メモ帳を開き、次のテキストを入力します:

authtype Basic
authname "www.home.net"
authuserfile d : /users/users.passwd
require user user1

次に、それを .htaccess として保存します。保存パスは、確認したいディレクトリです: d:/home/test/ を選択してください。保存タイプとして「」を指定した場合、ファイル名は「.htaccess」です。それ以外の場合、.htaccess ファイルは生成されません。

これで、ユーザー認証を指定するための設定は完了です。ブラウザに認証ディレクトリに相当するアドレス http://localhost/test/ を入力すると、ブラウザにポップアップが表示されます。ユーザー名とパスワードを入力した後、入力できるのはユーザー user1 とパスワード 12345 のみです。user2 や user3 などの他のユーザーを入力しても無効です。

3. 特定のユーザーを指定してディレクトリの検証を実装します。
たとえば、http://localhost/test/ には user1 と user3 がアクセスできるが、user2 はアクセスできないと判断した場合、 d:/home/test/.htaccess ファイルを編集し、最後の文を変更します:
require user user1
を次のように変更します:
require user user1 user3
このように、http://localhost/test/ user1 と user2 のアクセスのみが使用可能

4. すべての正当なユーザーによるディレクトリの検証を実現
たとえば、http://localhost/test/ はすべてのユーザーによってアクセスできると判断された場合d:/users/user.passwd ファイル内の users を編集し、d:/home/test/.htaccess ファイルを編集して最後の文を次のように変更します:

require valid-user

user.passwd 内のすべてのユーザーは、入力されたユーザー名とパスワードが正しい限り、http://localhost/test/ にアクセスできます。

方法 2: グループ ユーザー メソッドを使用して検証を実装する
方法 1 では、実際に実装するのは非常に簡単です。user.passwd ファイルでユーザーをグループ化し、ユーザー グループ ファイルを作成します。 .htaccess ファイル内で authgroupfile を指定するだけです。多くのユーザー (user1、user2、user3、user4 など) が user.passwd
1 に追加されているとします。次の内容のユーザー グループ ファイル d:/users/user.group を作成します。

manager:user1 user3
game:user2 user4
download:user5 user6 user7

このように、user.group ファイルは user1 から user7 までの 7 人のユーザーを 3 つのグループに分割します: manager 、ゲーム、ダウンロード。

2. 特定のユーザー グループは http://localhost/test/
次の内容で d:/home/test/.htaccess ファイルを編集します:

authtype Basic
authname "www.home.net"
authuserfile d:/users/users.passwd
authgroupfile d:/users/user.group
require group game

次に、 http://localhost/test/ には、ゲーム グループのユーザー user2 と user4 のみがアクセスできます。

プログラミングや開発に慣れている方は、グラフィカル インターフェイス プログラムを作成することで上記の手順を完了でき、手間が大幅に省けます。
この時点で、Win32 環境での Apache の簡易検証が実装されました。 Linux での設定方法と似ているようですが、恥ずかしいことに理解するまでにかなり遠回りしてしまいました。
Apache の検証メソッドを実装するにはいくつかの方法があります。上記は 1 つの側面にすぎません。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。