問題
ユーザーがシステムにログインするプログラムを考えてください。ユーザー名とパスワードの組み合わせが正しくない場合、InvalidCredentialsException をスローしてください。
ヒント
ユーザーがシステムにログインするプログラムを設計する場合、セキュリティとエラーハンドリングが重要です。以下は、ヒントとして考えられる事柄です:
- ユーザー情報の確認: ユーザーが提供したユーザー名とパスワードが正しいかどうかを確認します。これは通常、データベースや認証サービスとの連携を通じて行われます。
- InvalidCredentialsExceptionのスロー: もし提供されたユーザー名とパスワードが正しくない場合、独自の
InvalidCredentialsException
をスローします。この例外は、ユーザーが無効な認証情報を提供したことを示します。 - 適切なエラーメッセージ:
InvalidCredentialsException
をスローする際には、適切なエラーメッセージを含めることが重要です。これにより、エラーが発生した際にユーザーや開発者が理解しやすくなります。 - ログの取得: ログにエラー情報を記録することで、システムの健全性を保つことができます。ログは、トラブルシューティングやセキュリティ監査のために重要です。
- 例外処理の上位でのキャッチ: ログイン処理の上位で
InvalidCredentialsException
をキャッチして、適切な対応を行います。例えば、ユーザーにエラーメッセージを表示して再試行させるか、アカウントがロックされた場合にはそれを通知するなどです。
これらの要素を組み合わせて、セキュアで使いやすいログインプロセスを実現できます。
→解答例