Microsoft メンバーシップ プロバイダー vs カスタム プロバイダー vs 完全なカスタム ログイン システム

StackOverflow https://stackoverflow.com/questions/1834871

質問

現在変換中です とても 古いですが、動作する古典的な ASP サイトを ASP.Net に変換します。

完全にカスタムで作成されたユーザー管理システムを備えています。問題なく動作しますが、今後のプロジェクトに向けてより柔軟に対応できるようにしたいため、更新が必要です。

このことを誰かに尋ねると、「Microsoft プロバイダーを使用する必要があります」と言い、Microsoft がこれらすべてのものを無料で公開し、それらがどれほど優れているか、できるだけ再利用する必要があることを講義しました。

私はそれについてかなりの研究をしました(主にビデオを見ています) http://asp.net/learn )そして、私が書くのに何年もかかるであろうアイテムのドラッグアンドドロップコンポーネントがあるように見えるため、いくつかの機能に非常に感銘を受けました。

しかし、現在の会員データベースは説明が複雑で、内部関係が多く、完全にカスタムで作成されたデータベースです...デフォルトの Microsoft プロバイダーとは実際には「互換性」がありません。

見てみました どうすればいいですか:カスタム メンバーシップ プロバイダーを作成しますか?, 、しかし、私は自分の快適ゾーンから少し外れていると感じており、速度が遅いか、セキュリティホールが発生するか、単に動作しないかのいずれかであると心配しています。

結局のところ、Microsoft メンバーシップ プロバイダーが機能するはずです。本当に必要なカスタマイズは、データベースのユーザー名/パスワード フィールドを使用するためのログインと、3 分の 3 に及ぶ大量のカスタム コードを含むユーザー作成スクリプトだけです。パーティ システム (サービスを提供する必要があるなど)。

ちょっと疑問に思ったのですが、もし同じような状況に直面したらどうしますか?

  1. Microsoft メンバーシップ プロバイダーを使用して、何らかの方法で機能させるようにしてください (ただし、提案が必要です)

  2. Microsoft メンバーシップ プロバイダーを使用しますが、コードに合わせてカスタマイズされたカスタム プロバイダーを使用します。

  3. 完全にカスタマイズされた独自のソリューションを使用しますか?

役に立ちましたか?

解決

これビデオは、物事を複雑に:)あなたは既存のものを開始するには良い場所ですかけてリフレクターをカスタムプロバイダを実装するつもりなりません

あなたは、もちろん、提供サービスにSQLメンバシッププロバイダが使用するストアドプロシージャが、カスタムコードをハック可能性があり、迅速かつ汚いオプションは、おそらくその伸縮されている。

あなたはそれについてサービスのリモートプロビジョニングが実際にメンバーシッププロバイダーに属していないと思われる場合、それは本当にメンバーシップ関数ではありません - すべてのメンバーシップはありません彼らの周りにユーザ名とパスワードと認証を提供しています。メンバーシッププロバイダーがそのことを行った後にそれはちょうど、ストアドプロシージャを呼び出している場合でも - 私自身の気持ちはあなたがそこから出たサービスのプロビジョニングを移動し、ユーザーが作成された後にASP.NETサイト上でそれを行うべきであるということです。あなたがこれを行う場合は、SQLメンバシッププロバイダが(おそらくあまりにも役割とプロファイルプロバイダと)にあなたがそれを必要と全力を尽くしますので、あなたが書くための方法以下のコードを持っている!

ことがあります

他のヒント

私は過去に似たような状況にしてきました。両方のケースでは、既存のメカニズムの周りプロバイダ(のMembershipProvider、RoleProvider、ProfileProvider)のカスタム実装を作成します。

両方の場合において、我々は、例えば、読み取り専用アクセスのプロバイダ実装を使用しました私たちのweb.configファイルとそのようなもので簡単に検証gubbinsを得ました。それがうまく働いていたとして、ユーザ管理コードはよく一人で残っていた。

既存のプロバイダの作品(データのための右のフィールドを持っている)場合は、開始するためにそれを使用。あなたは非常に簡単に、後に顧客プロバイダに(1つだけ設定値の変更を)それを置き換えることができます。

そのための「箱のうち、」ASP.NETの管理インターフェイスがありません注意してください、あなたは独自のロールまたは第三者いずれかを使用する必要があります。

私自身のデータベーステーブルに対して動作するように私の専門のMembershipProviderを使用してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top