民芸的プログラミング 〜ソフトウェア開発日記〜

アクセスカウンタ

zoom RSS 共有電話メモを作る(3)

<<   作成日時 : 2009/05/09 10:02   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

前回で、必要な機能のリストアップはしたので、今度は個別の機能について、詳細を詰めていくことにした。
なお、この連載はリアルタイム進行なので、日によっては作業をしていないこともある。
また、最終的に本当に共有電話メモが完成するという保証もない。
実際のところ、共有電話メモではなくて、伝言板システムが出来上がりそうな気がしてもいるのだが、それはもう進行の具合によって決まることだ。

こういった行き当たりばったりが許されるので、趣味ベースでの開発は楽しい。
このシステムはあくまで「趣味レベル」で開発し、うまくいくようだったら実務で使ってしまおうという考えのもとに開発進行している。

さて、まずはユーザー登録関係の機能から考えていくことにする。
色々と考慮事項がある。

ユーザーは既にどこかのサーバーに登録されており、LDAP の認証や、Windows Network 系の認証で、すでに使えるようになっていると考えるのか、このシステムで独自にユーザーリストを保持するようにするのか。

開発の効率を考えると、ユーザーはどこかのサーバーに登録されており、既存のネットワーク認証システムが使えるという前提に立ったほうが楽なのだが、それだと例えば自社のネットワーク構造を前提にプログラミングした場合「情報管制上、FOSS として公開するわけにはいかない」という問題が出てしまう。
とりあえずは、このシステムで独自にユーザーリストを保持するようにし、既存のネットワーク認証にも簡単な改造で対応できるようにしておく、という無難な設計にしよう。

ここまできて、動作環境をまったく考慮していなかったことに気付いた。
PHP で開発することを考えているので、PHP が動けば何でもいい! というのが目標といえば目標なのだが、とりあえず XAMPP あるいは LAMP で動作するものを考えることにする。

DB に保存するのは、ログイン用のユーザー名と、パスワード(ハッシュ化したもの)とする。
が、ちょっと待った。

ログイン用のユーザー名というのは、社員番号なりメールアドレスなりをベースにしたものになるだろう。
それを電話メモ一覧に表示したのでは見にくくなってしまう。
別途、表示用のユーザー名(漢字ひらがな可)も持っておいたほうがいいだろう。
ログイン用のユーザー名を主キーとし、表示用ユーザー名、パスワードを DB に保存するようにしよう。

ユーザー登録は誰がすることにしようか?
社内のシステムなら、管理者が登録すべきだろう。
多分、実際に使うシステムはそうなるのだろう。
が、FOSS として公開する気もあるので、とりあえず無難な「誰でも好きなときにユーザー登録できる」ようにしておいたほうがいいだろう。社内使用の際には適切に改造するという前提で。

表示用ユーザー名、パスワードは任意に変更可能とする。ただし、表示用ユーザー名の登録は早い者勝ちとし、他の人と同一の名前は登録できないものとする。

次の問題はユーザー削除。
ユーザーを削除した場合、連動して、そのユーザーの書いたメモも削除されるべきだろうか?
共有電話メモの場合、それだと困ってしまう。
お客さんから電話が入って「先週、○○さんにお願いしました」とか言われて「○○は昨日退職しましたので、メモが残っていません」とか答えるのはさすがにまずいだろう。
メモのデータを残すということは、それに関連して、表示するためのユーザー名も残す必要があるということだ。

では、一度登録したら、ユーザーの削除はできないようにしてしまうというのではどうだろうか?
これはよいアイデアのように見えるが、そのままだと、パスワードクラッキングができてしまったりするのでやはり好ましくない。

機能名としては「ユーザー削除」になるが、実際の機能としては「削除フラグ」を立てるだけにしておき、削除フラグの立っているユーザー名ではログインできなくする、という対応がいいだろう。
そして、他人を削除することはできないようにしておく。
共有メモを使わなくなるときは、自分で自分を削除するという運用ルールにする。
間違って削除した場合は、それはまったくのトラブル対応ということにして、管理者が直接 SQL を使ってデータを書き換えればいいだろう。

ここまでで、ユーザー登録関連の方向性は見えてきた。
実運用では、「個別の事情に合わせた改造」が前提になるので、あまり深く考えすぎないようにした。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
共有電話メモを作る(3) 民芸的プログラミング 〜ソフトウェア開発日記〜/BIGLOBEウェブリブログ
文字サイズ:       閉じる