ユーザーが自分の国民IDとパスワードでログインできるシステムがありますOR顧客IDとパスワードです。パスワードは特定の顧客の両方の場合に共通です(すべてのユーザーが1つの国民IDがあるため、1つのアカウント)。
ユーザーは国IDをお客様IDよりも覚えやすいと推定されているため、このシステムへのログインには、国IDでログインすることをお勧めします。お客様IDでのログインは2番目のオプションとして表示されます。最近、このシステムが結合される予定です。ユーザーが自分のカスタマーIDでログインするために使用される別のシステム(もちろん、ユーザーは自分の国民IDも知っていますが、これは以前の方法であり、慣れているためです)。
すでに2番目のシステムにいるユーザーに彼らの国民IDを使用してログインするように働きかけ、さらに顧客IDを開いたままログインするオプションを維持します(現在、他のシステムでも同様です)。問題は、 (2番目のシステムでは以前はオプションではなかったため)国民IDを使用してログインしたことがないため、ログインの好ましい方法は、今までは顧客IDであり、confusedの場合お客様IDでログインするフィールドはreplacedであり、国別IDのフィールドがあります。国別IDは知っていますが、ログインする方法としては表示されません。
しかし、国民IDと顧客IDでのログインが同じ結果になり、パスワードを変更する必要がないことを彼らが知ったら、国民IDも好むと推定されます。また、(どのサービスを取得したいかに関係なく)複合システムの新規ユーザーは国のIDを優先するため、今後は顧客IDが常に2番目のオプションになります。
ログインするより良いオプションがあることを2番目のシステムのユーザーに通知するためにここで何をすべきですか今とこの2番目のオプションを使用するように彼らに働きかけますか?
また、国民IDと顧客IDは、類似している場合を除き、システムで区別することはほとんど不可能であることにも注意してください。そのため、ここではnational idまたはcustomer idのようなプレースホルダーを持つフィールドを持つことは不可能です。
編集:私はそれが答えで繰り返されるのを見ると、顧客IDを国民IDと区別する方法はありません、それらは両方とも同じ長さであり、顧客IDはユーザーに割り当てられたランダムな番号であり、入力することも可能です一部の特定のユーザーのお客様ID。
私は「不可能」という言葉が好きです。
customer IDまたはnational IDの単一の入力があり、番号とパスワードを最初の値または最初に確認したいもの。
ユーザーが認証されているかどうか。
そうでない場合は、2番目の資格情報で検証を試みます。
それらは検証済みかどうかのどちらかです。
私には簡単に思えます。
更新された回答
OK、あなたはかなり断固として、バックエンドでは何もできません。私が残したオプションは、可能な限りユーザーをガイドして案内することだと思います。ユーザーがお客様IDを国民IDフィールドに入力すること、およびその逆を制限することはできますが、ログインに成功するためにフィールドで何が必要かをユーザーに通知する必要があります。
これは、お客様のオンボーディング期間を開始する絶好の機会です。お客様がお客様IDを使用してログインを続行できるようにし、ログインを確認した後、発効日を含む新しい変更を伝え、国民IDを表示します。可能であれば、オンボーディング期間中にオプトインできるようにし、ログインにナビゲートしたときにナショナルIDビューに移動するCookieを設定することで、デフォルトでナショナルIDを使用するオプションを提供することもできます。オンボーディング期間の終了後、全員がデフォルトで国民IDログインビューを使用し、必要に応じて顧客IDを代替として使用するオプションを提示できます。
「..国民IDと顧客IDは、類似している限り、システムで区別することはほとんど不可能です。」
これについてもっと詳しく教えてもらえますか? IDの長さはそれぞれ異なりますか?それらはそれらを生成するための特定のアルゴリズムを持っていますか?それを使用してそれらを検証できますか?
なぜなら、2つのIDが異なると長さを言うことができる場合、ソフトウェアはそれらを自動的に区別できるはずですか?
唯一のケースは、ユーザーが誤って間違った番号を入力した場合です。たとえば、Customer_IDではなくNational_IDとしましょう。その場合、パスワードが両方で同じであれば、ログインします。そうでない場合は、次のようなエラーメッセージを伝えます。
「国民IDではなくお客様IDでログインしようとしていますか?」
これにより、ユーザーはどのパスワードを使用していて、どのパスワードを使用しているか(ユーザーが異なる場合)を考えるようになります。
既存のユーザーの場合、Customer_IDでログインすると、次のメッセージが表示されます。
「国民IDが使えるようになったことをご存知ですか?」
ナショナルIDでログインするオプションも必要であることを確認できるページまたはボタンを表示します。そこで彼らはそれを入力し、それを確認しなければならず、その時点からあなたは彼らのために別のログインを作成することができます。確かに、これは他のアカウントのログインが使用されない原因となりますが、データベースが処理するには多すぎるべきではないと私は推測しています。
TL; DR:
プレースホルダーやログインID間のあらゆるタイプの区別を排除し、ユーザー入力に応じて、それらに必要な次のステップを認識します。