Kahua Release
- Release Note
- Download
- Current Version 1.0.7.3 (2008-05-08)
kahua-web Release
- kahua-webとは
- Release Note
- Download
- Current Version 0.3.1 (2007-06-12)
Security Advisory
Event Log
Documentation
For developers
Site info
Related Site
[module] kahua.user
Kahuaアプリケーションのログインセッションにおいて、認証に使用するユーザ 情報を扱うためのモジュールです。
[class] <kahua-user>
一人のユーザの情報を保持するクラスです。<kahua-persistent-base>を継承し ています (kahua.persistence参照)。
[slot] login-name
ユーザのログイン名。これが<kahua-user>永続クラスのキーとして使用されます。
[slot] password-hash
パスワードのハッシュ値(salt含む)。ハッシュには今のところmd5を使っています。
[slot] role-alist
このユーザのroleを表現するリスト。今のところ、role-alistは単なる シンボルのリストです。 roleの定義はアプリケーションサーバによって行われます。
[procedure] kahua-user? obj
objがこのアプリケーション内で認証に使用されている <kahua-user> もしくは そのサブクラスのインスタンスであれば #t を、そうでなければ #f を返します。
[procedure] kahua-add-user login-name password
このメソッドはデータベースがアクティブな時に呼ばれなければなりません。
新たなユーザを登録します。passwordには生のパスワードテキストを渡します。 それは内部でハッシュされ、実際にユーザオブジェクトに保存されるのは ハッシュ値のみです。
既に同じlogin-nameを持つユーザがいない場合は、登録は成功し、 新たに作られた<kahua-user>オブジェクトが返されます。 同じlogin-nameを持つユーザがいた場合は、新たなユーザは登録されず、 #fが返ります。
[procedure] kahua-check-user login-name password
このメソッドはデータベースがアクティブな時に呼ばれなければなりません。
与えられたlogin-nameとpasswordを持つユーザが見つかればその<kahua-user> オブジェクトを、見つからなければ#fを返します。
[procedure] kahua-find-user login-name
このメソッドはデータベースがアクティブな時に呼ばれなければなりません。
与えられたlogin-nameを持つユーザが見つかればその<kahua-user>オブジェク トを、見つからなければ#fを返します。
[procedure] kahua-user-password-change user old-password new-password
ユーザuserのパスワードをnew-passwordに変更します。ユーザの現在 のパスワードがold-passwordにマッチしないときは変更されません。
変更が成功したときは#tが、失敗したときは#fが返されます。
[procedure] kahua-user-password-change-force user new-password
ユーザuserのパスワードを強制的にnew-passwordに変更します。
変更が成功したときは#tが、失敗したときは#fが返されます。
[procedure] kahua-user-has-role? user roles
このメソッドはデータベースがアクティブな時に呼ばれなければなりません。
ユーザuserが、rolesに挙げられているroleのいずれかを持っている時 に#tを、そうでなければ#fを返します。
userには、<kahua-user>のインスタンスか、#fを渡します。#fを渡した場 合は常に#fが返ります。これは、kahua-current-user (kahua.server 参 照) の戻り値をそのまま渡すのに便利です。
rolesはroleを表すシンボルのリストです。将来は、より複雑な条件 を指定できるように拡張されるかもしれません。
[procedure] kahua-user-add-role! user role
ユーザuserにシンボルroleで表されるロールを追加します。
[procedure] kahua-user-drop-role! user role
ユーザuserからシンボルroleで表されるロールを削除します。