web-dev-qa-db-ja.com

同じ会社で複数のアカウントが作成されないようにするにはどうすればよいですか?

ABC社とEmployee Aが自分のメールアドレス([email protected]など)でアカウントにサインアップしているとします。ただし、従業員Bが同じ会社でサインアップしたが、自分の電子メール(たとえば、employeeB @ companyabc.comまたは[email protected])を使用しているとします。

私たちのシステムは、従業員Bが所属する会社がすでにサインアップしているため、アカウントを作成できないことを検出できる必要があります。会社ごとに1つのアカウントのみです。

これを防ぐために、登録フォームにどのフィールドを入力する必要がありますか?同じ会社名を異なる方法で入力することもあるので、会社名だけに依存することはできません(たとえば、会社を会社ABCまたは会社abcまたはABCのみと呼ぶ場合もありますが、実際には同じ会社を指します)。

5
catandmouse

他の人は、この制限を100%強制する技術的な方法はないと述べています。人々は賢いことができ、人々はこれを回避する方法を見つけるでしょう。

1つのアプローチは、サービスにサインアップするときに人々が同意する契約に追加することにより、これを法的に実施することです。

しかし、なぜこの制限を強制したいのですか?同じ会社が誤って複数のアカウントにサインアップして、後でマージする必要がないようにしたいだけですか?

100ユーザーの会社となる可能性のあるログイン資格情報のセットが1つしかない場合、セキュリティの問題になると思いませんか?

要件を元に戻すことを検討しましたか?人々が会社を指定することを許可し、複数のアカウントを許可しても、それらすべてを同じ会社に接続している場合はどうでしょうか? 1つの企業アカウントのみを希望する理由(たとえば、無料の特典を複数回請求することを防ぐなど)に応じて、これは実行可能なアプローチになる場合があります。

なぜこの制限が必要であるかを知らなければ、良い解決策を提案することは困難です。

2
uliwitness

具体的にあなたに解決策を与えるのではなく、これはあなた自身のためにそれを解決するために使用するプロセスです。

  1. あなたが説明している人間/コンピュータの相互作用の成功した結果を定義します。

    たとえば、「システムは、従業員がAPIを怖がらせずに重複したアカウントを作成することを防止します。」

  2. 基本的な企業の従業員を表すペルソナに戻ります。
  3. スイムレーン図 の形式で顧客のカスタマージャーニーマップを作成します。
  4. ダイアグラムで3つのスイムレーンを作成し、ラベルを付けます
    • "従業員"
    • 「バックエンドプロセス」
    • 「フロントエンドの相互作用」
  5. 「従業員」レーンで、標準のフローチャート図形を使用して、雇用主が所有するアカウントに加えて個人アカウントを作成しようとするときのプロセスを描写します。
  6. 「バックエンドプロセス」レーンで、フローチャートのシンボルを使用して、説明した不要な結果を防ぐためにシステムが実行するエラーまたは重複チェックプロセスを文書化します。
  7. システムがユーザーからより多くの情報を取得する必要がある場合は、アクションを促すか、発見された問題について警告し、それらのメッセージを入力します(たとえば、「続行するには、もう少し情報が必要です。雇用主の名前を教えてください。 ?これを他のユーザーと共有することはありません。」)それらを[フロントエンドインタラクション]列または水平レーンに配置します。
  8. 最初に定義した目的の結果に到達するまで、フローチャートのベクトルを通じてプロセスを実行し続けます。
0
Jim Ryan

これを100%防ぐことはできません。適用する可能性のある技術的な制限を回避する方法は常にあります。たとえば、@ gmail.comなどを使用して自分の会社に登録できますか?

あとはあとでチェックできると思います。たぶん、ユーザーに登録を許可し、確認後にのみフルアクセスを許可しますか? T&Cを追加することも良い考えです。

サイドノート

会社が誰が会社を登録するかについての会議があったが、あなたが知らないことを望む人もいるかもしれません。あら….

何をすべきか?

あなたができる最善のことは、誰かがあなたが提出したくないものを提出する可能性のあるすべての可能な方法を考え、それを試みて防ぐことです。

私は最初に考えました。

  • ユーザーは個人のメールアカウントを使用

これを防ぐためにドメインをチェックすることができます。

@ companyabc.comは、常にフォームで使用されるアドレスの一部になります。別のアイデアは、会社名を尋ね、それが同じかどうかを確認するためにアドレスで使用されているドメインでそれをチェックすることです。これにより、個人のメールアドレスの使用を防ぐことができます。

このリストに追加してみてください。また、これらすべての人的要因についても考えてください。

0
Nick Groeneveld

重複の可能性を1つずつ減らしましょう。

まず第一に、あなたの要件が重複なしであるならば、メールはあなたの主キーであってはなりません、あなたは携帯電話番号を求めることができます。

非常に少数の人々が2つのアクティブな携帯電話番号を持っているので、それはすでに多くのケースを減らすでしょう。第二に、携帯電話番号で身元を確認する方法はたくさんあります。確認は、通話、OTP、ビデオ通話で行うことができます。すべてはあなたが行きたい確実性のレベルに依存します。

電子メールを使用すると、それがはるかに困難になります。たとえ何らかの方法でそれを引き抜いたとしても、携帯電話番号の検証は常により最適化された方法になります。

たぶんあなたは電子メールと携帯電話番号の組み合わせを使用することができます。この問題に対する新しい解決策のセットを皆さんにお届けしたいと思います。乾杯。

0
Anupam Pareek