Asp.net MVC のデフォルトのログイン クラスは十分ですか?
-
22-08-2019 - |
質問
公共の場で使用する場合のセキュリティは十分ですか?それとも修正が必要ですか?
解決
あなたはメンバーシップおよび役割プロバイダやスケルトンコントローラのアクションとビューについて尋ねていますか?メンバーシップおよび役割プロバイダは、確かにパスワードの安全なストレージをサポートし、あなたが適切にあなたのアプリケーションを保護することができます。私は彼らが私はので、私は自分自身を実装することを選んだん物事の種類のために少しやり過ぎであることが判明しました。限り、コントローラのアクションとして、彼らはスケルトンであり、あなたはあなたの認証シナリオに合うようにそれらを変更することを期待すべきです。一つには、あなたはパスワードを送信するときにセキュアな接続を必要とするものを設定することもできます。あなたは非セキュアな接続に後でリダイレクトすることを選択した場合は、デフォルトのルーティングをサポートしていませんので、手動で(あるいは少なくともMVCベータ版ではありませんでした)非セキュアに戻って、セキュアから変更するリダイレクトURLを操作する必要がありますプロトコルます。
一番下の行は、あなたがまだあなたがMVCまたはWebフォームを使用しているかどうかを安全にデータを処理していることを確認する必要があるということです。コントローラとの基本的なセットアップのレイアウトが適切でスタートですが、あなたはそれがあなたのセキュリティ要件に適合することを確認する必要があります。
他のヒント
実際にどのような種類のサイトを作成しているかによって異なりますが、おそらく AccountController をそのままデプロイすることはないと思います。これは、MembershipProvider の使用方法を示すサンプル コードです。
たとえば、次のような考慮事項があります。
- 登録に CAPTCHA を含めることもできます
- デフォルトのテンプレートでは、実際には [Authorize] 属性を持つものは何も保護されません。ログインが必要な場合は、おそらく承認が必要なコントローラーとアクションが必要になるでしょう。
等...
自分のサイトのセキュリティについては常に責任を持ってください。私なら脅威モデルを作成し、サイトがどの程度安全である必要があるかを判断します。たとえば、一部のサイトでは、RSA キーフォブなどを使用した 2 要素認証が必要です。これはデフォルトのテンプレートには含まれていません。ほとんどのサイトにはそのレベルは必要ないと思います。;) 重要なのは、それは特定のニーズに依存するということです。お役に立てば幸いです!