|
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)
- 戻り値
- なし。
|