みなさまこんにちは.
望月@東京外国語大学です. 初めて投稿します.
本学でも総合情報コラボレーションセンターのサービスとして,昨年度から本格的にmoodleを使い始め,学部の1年生必修の情報リテラシーで800名ほどの受講生を対象に使うところからあれこれ試しています.そろそろ教員側の授業利用者を増やそうと先生方に便利さを宣伝し始めたのですが,ユーザ名に用いる文字のことでちょっと困っています.
単刀直入に言って, _ - . (アンダースコア,ハイフン,ピリオド)をユーザ名に用いると何か問題が発生するでしょうか? ご存知の方がいらしたら教えてください.
詳細は以下のとおりです.
1. MoodleではPOP3認証をし,大学のユーザアカウントとパスワードがそのまま使えるようにしている.
2. ユーザアカウントに _ アンダースコア, - ハイフン, . ピリオドを用いているユーザがいる.
3. Moodleのユーザ名には 半角英数字しか使えない とある. しかし,「ユーザの登録」で試すと以下のことが起きる.
(a) - (ハイフン)を試すと,通る.(登録できる.ログインもできる)
(b) . (ピリオド)を試すと,通る.(登録できる.ログインもできる)
(c) _ (アンダースコア)を試すと,通らない.(登録できない)
4. 更に,アンダースコア付きのユーザ名について,「ユーザのアップロード」からの登録を試みる.
(a) そのまま(例: test_user) ,' ' で囲む('test_user'), " " で囲む("test_user")の各状態で登録を試みる. → 登録できるが, _ が落ちる (testuser となる)
(b) \ を挿入して( test\_user)登録を試みる → _は落ちる(test\user となる)
5. 4(a)の_ アンダースコアが落ちてしまったユーザ名(testuser)についてデータベースを直接書き換える.
mysql > select * from databasename.mdl_user where username="testuser";
でidを調べて,(例 idが 999とする)
mysql > update databasename.mdl_user set username="test_user" where id="999";
とやって,ユーザ名を _ 付きにする.
と,ここまでやると, このユーザのユーザ名は test_user となります.
ユーザ名test_userとしてログインすると, POP3 でも, ローカルにアカウントを作ってもどちらの場合でも,moodleにログインできました.
つまり,これで _ - . どの文字が含まれていてもログインできるのですが,果たしてMoodleでは何か問題が起きる恐れがあるのでしょうか?(半角英数字しか使えないとしている積極的理由があるのでしょうか?)
うちの大学の他のサービス(linuxアカウント,mysql, sambaなど)ではこれらの文字が悪さをすることはないので,アカウント名に利用可能な文字としているのですが,moodleで使えないとなると,moodleを使いたければ,アカウント名の変更するか,そのユーザだけ別名のローカルアカウントを作って併用するか,あるいは少なくとも今提供しているmoodleの利用をあきらめてもらうか,などを検討しなければなりません.このまま使って問題なければそれが一番利用者にとってもいいと思うのですが,何か情報はありませんでしょうか?
underscore username などでmoodle.orgを検索してみたのですが,見当たらなくて.
なお,動作環境はこんな感じです.
Moodle version 1.9+(Build: 20080329)
Mysql version 4.1.20
php version 4.3.9
OS Red Hat Enterprise Linux ES release 4
Webserver Apache 2.0.52