[PHP-users 14563]Re: NISの認証について
Sugimura Masayuki
sugimura @ ksp.nis.nec.co.jp
2003年 4月 11日 (金) 11:50:30 JST
杉村です。
> PHP初心者です。
> 早速質問ですが、とあるサーバにNISが入っています。
> そこに、別のサーバにあるプログラム(PHP)で、NISに認証をかけたい
> と思っているのですが、方法がまったくわかりません。。
> 調べた結果、yp_match関数を使えばできそう、と思っているのですが
> どのようにすればよいか困っています。
> どなたかご存知のかたがいらっしゃれば、お教え願えませんでしょうか?
> よろしくお願いします。
入力したパスワードと、NIS に登録されているパスワードを比較して
認証したいということですよね?
特に難しいところはないと思いますが、むかし試しに作ってみたものを
書いておきます。
使われている関数についてはマニュアルで調べてみて下さい。
define('DOMAIN', 'hoge');
define('MAP_FILE', 'passwd.byname');
function nis_auth($username, $password) {
if($entry = @yp_match(DOMAIN, MAP_FILE, $username)){
list($user, $pass, $others) = explode(":", $entry);
if(!strcmp(crypt($password, $pass), $pass)){
return TRUE;
}
}
return FALSE;
}
# PHP のコンパイル時に --enable-yp をつけるのをお忘れなく。
--
Sugimura Masayuki sugimura @ ksp.nis.nec.co.jp
PHP-users メーリングリストの案内