- PR -

システムのユーザ名のポリシー

1
投稿者投稿内容
nori
会議室デビュー日: 2004/09/16
投稿数: 5
お住まい・勤務地: 東京
投稿日時: 2005-01-12 20:44
独自の認証プロセスを持つシステムがあります。そのシステムはユーザ名に半角英数字のみ使用可能な仕様です。

実はそのシステムはwin32アプリケーションなのですが、Windowsで動くんだからWindowsのユーザ名に使用できる文字をサポートすべきだという意見があり、この機会にシステムのユーザ名に使用できる文字に関してポリシーを見直すことになりました。

当初、ユーザ名が半角英数字に限定されたのは、例えば、「レジストリにユーザ名をキーとして保存するのですが、レジストリには”\”が使用できない」など記号を使用することによる弊害を回避するためです。弊害のない記号もありますが、当時はひとつひとつそれらを検証することはせず、まとめて記号全てを使用不可としました(されてました)。

確かに、WindowsXPについては、ヘルプに「ユーザ名に使用できる文字列」に関する記述がありますが、「Win32アプリだから」それに準拠するというのはちょっと乱暴な理由だと思います。

今回、これをきっかけに、弊害のある文字とそうでない文字を区別し、ユーザ名に使用できる文字を増やす(具体的には記号をサポートする)計画です。
使用できるユーザ名のポリシーは、そのシステムによりけりだと思うのですが、「Windowsアプリならこうあるべきだ!!」なんてものが存在するのでしょうか?

ちなみに「Designed for Microsoft Windows XP」などを参照してみたのですが、参考になるものは見つけられませんでした。

皆さんはどう思われますか?


おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2005-01-12 23:10
仮にレジストリに格納するとしても、格納時にユーザ名の文字列を何らかの方法で
エンコードしてしまう様にすれば、特に利用可能な文字列に制限を設ける必要は
無いのではないでしょうか?

不特定多数のユーザを対象とする製品なら分かりませんが、特定のユーザを想定した
システムであればユーザの要件次第でどの様にポリシーを決めても良いのではないかと
思います。

つまり、想定ユーザの要件が第一で、べき論はそれ程重要ではないのではないかと。

[ メッセージ編集済み 編集者: おばけ 編集日時 2005-01-12 23:14 ]
nori
会議室デビュー日: 2004/09/16
投稿数: 5
お住まい・勤務地: 東京
投稿日時: 2005-01-13 01:15
おばけさん、ありがとうございます。

そうですね。エンコードするのもひとつの手段だと思います。最終的にはエンコードして使用できる文字の制限をなくしたいと思っています。
ですが、現在の構造上の問題ですぐにそのように変更することができず、とりあえず構造はそのままでシステムに影響のない文字だけ使えるようにしようという中途半端な対応方針になってしまいました。

私もおばけさんのおっしゃるとおり、ユーザの要件が第一で、べき論はそれほど重要ではないと感じています。

実は不特定多数のユーザを対象とする製品を取り扱っていて、ユーザの要件を見極めるのが難しいんですね。そんな場合、昨今はなぜかMicrosoft社の製品に仕様を合わせる風潮が社内にあります(なんだか情けないですが・・)。
エンドユーザがWindowsの操作性に慣れてきて、「Windowsではこうできるよ!」と問い合わせを受けるようです。

とはいえ、他社製品を参考にすることがあるにしろ、本来は、ユーザの要件を見極めた上で提供するシステムのポリシーを決定していくものだと思います。

ところが「このシステムはこのような仕様になっています。理由は○○です」と説明しても「Windowsではこうだ」と言って納得してもらえないんですよね。

でもやはりべき論よりもユーザの要件を見極めるほうが大切ですので、今一度その観点で考慮してみることにします。
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2005-01-13 01:49
私はSI経験はあるんですが、製品開発の経験は無いんです。ですんで、不特定多数の
ユーザを対象とする難しさが理解できていないところはあります。そこのところを
あらかじめ言い訳させておいて頂きまして、、、

やっぱり、どんなものを作るにしても費用対効果が大事であることは言えるのでは
ないかと思いますので、お客さんがこの(ユーザ名に使用できる文字を増やす)機能
追加に対してどのくらい強い要望を持っているのか(機能追加という投資に対して
どれくらいリターンが見込めるのか)が見えてから、開発するかどうかのゴーサインを
出した方が良いでしょうねぇ。

ぶっちゃけ、例えば1万の顧客のうち1%くらいの顧客から要望が来ていても、会社
として売上を考えた時にその1%がそれ程インパクトの無い場合、対応しないという
手もあるかと思います。冷たいかも知れないですけれどね、、、

なんだか、あんまり技術的な話じゃなくてすみません。

***追記***

私の書き込みは全く整理されていないので、整理してみます
今考えるべきことは、以下の2つです。

  1. ユーザ名に使える文字を増やすかどうか
  2. ユーザ名に使える文字をどう決めるか

で、まず1を判断するために、この顧客の要望がどの程度貴社の利益に対して
インパクトを持つかを判断します。インパクトが小さいと判断されれば、本件は
これで検討を終了し、機能追加は行いません。

次に、機能追加に対応するとして、「どのような文字をユーザ名として許すか」
という仕様を決定しますが、その際には実際の顧客からの要望をまとめて顧客の
要件として決定し、それを元に仕様を決めるようにします。

そこで決まった仕様がかなりコスト高(あまりにも技術的に実装が難しい、等)に
なるものであった場合、再度機能追加の実施そのものに対する検討を行います。

以上が、私の考えたことです。
まぁ、はっきり言ってほとんど技術的な話じゃないですね・・・。
この会議室の趣旨からは外れていますね。すみません


[ メッセージ編集済み 編集者: おばけ 編集日時 2005-01-13 01:55 ]
nori
会議室デビュー日: 2004/09/16
投稿数: 5
お住まい・勤務地: 東京
投稿日時: 2005-01-13 17:35
おばけさん、遅くまでお疲れ様です。おばけさんが整理して下さったので、だんだんすっきりしてきました。

まず、「1.ユーザ名に使える文字を増やすかどうか」については増やすことになりました。最終的にはエンコードなどを行い制限する文字をなくすことを目指すものの、現段階ではそこまでの変更は行わず、実際に使用されている記号の中で使用頻度の高い(と思われる)ものに対応することになりました。(結局のところ、ハイフンや半角スペースなどが使えればほとんど満足できるようです)

次に、「2.ユーザに使える文字をどう決めるか」ということについては、前述のとおり、「現段階で使用頻度の高いもの」という判断になっています。

本件については以上を開発側の見解として対処しようと思っていますが、果たしてすんなり受け入れられるかどうか?????

私はSI経験も製品開発の経験もありますが、この手の話はやはり技術的な要素だけでは解決できませんね。技術的な要素と他の要素(営業的、コスト的、マーケティング的、業務的要素などなど)とのよいバランス感覚が必要ですね。日頃開発業務に携わっているとついつい技術的な要素に力が入ってしまいます。おばけさんのご指摘にあったように「費用対効果」は最近ちょっと忘れかけていた視点でした。ありがとうございます。


[ メッセージ編集済み 編集者: nori 編集日時 2005-01-13 17:36 ]
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2005-01-14 00:53
noriさんこんばんは。
一通り落ち着かれた様で何よりです。

私なんぞは、最近は仕事で費用対効果の話ばっかりしていて
いささか食傷気味なのですが、まあ提供者側の自己満足に
陥らないためにもこの視点は常に必要かな、と。

それでは、引き続き頑張ってくださいませ。

[ メッセージ編集済み 編集者: おばけ 編集日時 2005-01-14 00:53 ]
Beatle
ぬし
会議室デビュー日: 2003/06/09
投稿数: 394
投稿日時: 2005-01-14 09:28
蛇足レスですが...

技術的には「一意な文字コード」であれば、制御文字等で無ければ特に問題にはならない
でしょうけど、使う側の混乱等を考えると拡張文字(IBM、MS)等については何か考えてお
いたほうが良いかもしれませんよ。(エンコードでロジックを入れておくとか)
nori
会議室デビュー日: 2004/09/16
投稿数: 5
お住まい・勤務地: 東京
投稿日時: 2005-01-14 10:08
Beatleさん、
ご指摘どおり拡張文字についても考慮する必要がありますね。
ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)