ユーザー名を使用しない ASP.NET ログイン コントロール
-
13-09-2019 - |
質問
ユーザーにパスワードを要求するだけで、標準の ASP.NET ログイン コントロールを使用することは可能ですか?テンプレートを使用していますが、ランタイムから次のようなエラーが発生します。
Login1: LayoutTemplate does not contain an IEditableTextControl with ID UserName for the username.
私の現在の考えは、次のコントロールを追加することです style="display:none;"
それはダサそうです。既存のプロジェクトはすでに FormsAuthentication を使用しているため、プラン B は独自の認証メソッドをロールすることになる可能性があります。
アップデート
2 ステップのログインプロセスがあります。ステップ1:「あなたは誰ですか?」とステップ2:「パスワードは何ですか?」
解決
自分でスタイルを設定する前に、display:none を使用してスタイルを設定するでしょう。
他のヒント
ログイン コントロールにどのような機能が必要ですか?独自の認証メカニズムを導入していると思いますか?ログイン コントロールを再利用することで本当に多くのメリットが得られるのでしょうか?その場合は、スタイルを display:none に設定します。
編集
前のページでユーザーを特定した場合、ユーザー名またはユーザー名の一部を含む無効なテキストボックスを表示してはどうでしょうか?一部の銀行がこれを行っているのを見てきました。最初のページにログイン情報と、おそらく住んでいる州を入力し、それが検証されて、ログイン名の最初の 3 文字とサイト キーが表示され、あなたの情報を尋ねます。パスワード。
更新された回答:
最善の策は、ログイン コントロールをラベルに変換し、それをパスワードの空のテキスト ボックスの上に表示することです。
イェ・オールドの答え:
なぜそれをしたいのですか?2 人のユーザーが同じパスワードを持っている場合はどうなりますか?
これはテストしていないので、少しばかげているように聞こえるかもしれませんが、LoginForm をプロパティとして持つ UserControl のような、ログイン コントロールのラッパーを作成できるかもしれません。その後、Init イベントを使用してコントロールから値を割り当てます。 LoginForm (プロパティ) の値を更新するために作成します。
プロパティが機能しない場合は、ページに表示しても非表示にすることもできます。