KAME-Board Programmer's Manual

APIs

ログイン その1

呼び出し
<form method="POST" action="<skel _KAME_CGI>">
<input type="hidden" name="_CMD" value="auth_user_login">
<input type="hidden" name="_REFERER_PATH_INFO" value="<skel _THIS_PATH_INFO">
<input type="text" name="user_name">
<input type="password" name="password">
<input type="submit" value="LOGIN">
</form>
	   
説明
  • _CMD=auth_user_login、user_name=ユーザ名、password=パスワードで、<skel _KAME_TOP>を呼び出すとログインを行います。
  • ログインが成功すると、_REFERER_PATH_INFOフィールドの値へリダイレクトします。通常、_REFERER_PATH_INFO には<skel _THIS_PATH_INFO>をセットしておけば良いでしょう。
  • <skel _THIS_PATH_INFO>は、フォームを表示している「そのページ」のPATH_INFOが入っています。
  • cookie を返すのを、kameboard.cgi ではなく、kameboard.cgi/ にするために、kameboard.cgi ではなく <skel _KAME_CGI>を呼び出してください。

ログイン その2

呼び出し
<a href="login_form.html?_REFERER_PATH_INFO=<skel _THIS_PATH_INFO>">LOGIN</a>
	  
説明
  • login_form.html を呼び出すと、ログインフォームが表示されます。
  • login_form.html では、ログイン その1のように、_CMD=auth_user_loginを呼び出すフォームが表示されます。
  • 継承の働きによって、通常、<skel _KAME_TOP>login_form.html が呼ばれ、kame-dat/syslib/auth_.pl:show_login_form()が呼ばれ、kame-dat/skel/login_form.html が表示されます。
  • 途中のディレクトリの skel/login_form.html や lib/*.pl:show_login_form()によって動作を変更することもできます。
  • ログインフォームに対して、ユーザ名とパスワードを入力すると、ログインが行われます。
  • ログインが成功すると、_REFERER_PATH_INFOフィールドの値へリダイレクトします。通常、_REFERER_PATH_INFO には<skel _THIS_PATH_INFO>をセットしておけば良いでしょう。
  • <skel _THIS_PATH_INFO>は、フォームを表示している「そのページ」のPATH_INFOが入っています。

ログアウト

呼び出し
<form method="POST" action="<skel _KAME_CGI>">
<input type="hidden" name="_CMD" value="auth_user_logout">
<input type="hidden" name="_REFERER_PATH_INFO" value="<skel _THIS_PATH_INFO">
<input type="submit" value="LOGOUT">
</form>
	  
または、
<a href="<skel _KAME_TOP>?_CMD=auth_user_logout&_REFERER_PATH_INFO=<skel _THIS_PATH_INFO>">LOGOUT</a>
			
説明
  • _CMD=auth_user_logoutで、<skel _KAME_TOP>を呼び出すとログアウトします。
  • ログアウトが成功すると、_REFERER_PATH_INFOフィールドの値へリダイレクトします。通常、_REFERER_PATH_INFO には<skel _THIS_PATH_INFO>をセットしておけば良いでしょう。
  • <skel _THIS_PATH_INFO>は、フォームを表示している「そのページ」のPATH_INFOが入っています。
  • cookie を返すのを、kameboard.cgi ではなく、kameboard.cgi/ にするために、kameboard.cgi ではなく <skel _KAME_CGI>を呼び出してください。

ユーザボックスの呼び出し

呼び出し
<skel_func userbox>
	  
説明
  • ログインしているユーザに応じて、ユーザボックスを表示します。
  • ログインしていないときは userbox_nouser.htm が表示されます。
  • ログインしているときは userbox_user.htm が表示されます。
  • ログインしているユーザが編集者の権限を持つときは userbox_editor.htm が表示されます。
  • ログインしているユーザが管理人の権限を持つときは userbox_admin.htm が表示されます。
  • ログインしているユーザがhogehogeの権限を持つときは userbox_hogehoge.htm が表示されます。
  • 継承の働きによって、通常、kame-dat/lib/skel_func_userbox.pl:skel_fucn_userbox()が呼ばれ、kame-dat/skel/usebox_*.htm が呼ばれます。
  • 途中のディレクトリの skel/usrbox_*.htm や lib/*.pl:$SKEL_FUNC{'userbox'}によって動作を変更することもできます。

$SKEL 値のチェック

呼び出し
<skel_func skeltest>
	  
説明
  • $SKEL->{*}の値を全表示します。skel.html のチェックに使います。
  • kame-dat/lib/skel_func_skeltest.pl で定義されています。不要であれば削除できます。

やりたいこと

呼び出し
      
説明

ライブラリ API

auth_user

機能
$GET_COOKIE->{'KAME'}から、ユーザ名得て、&get_homedir()/data/session.db1 のデータと照らし合わせて、認証する。
戻り値
正常認証時→ユーザ名
正常認証時→$SCHEME->{'_USER'}->{'user_name'} にユーザ名が入る
エラー時→0。$SKEL->{'message'}に、エラーメッセージが入る。

auth_set_cookie

機能
新たにランダムキーを生成し、クッキーにセットする。
単なるファイル転送の時は、auth_set_cookie を呼んで、cookie を変更しないこと。(kameboard.cgi)
戻り値
なし。