問題タブ [asp.net-profiles]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Web アプリケーションでユーザー プロファイルを処理するための最善の方法は何ですか?
現在、ASP.NET MVC Web アプリケーションを構築しています。私のサイトのセキュリティは、(現在) System.Web.Security メンバーシップ モデルを拡張したものの上に構築されています。
- AuthorizeAttribute
- メンバーシッププロバイダー
- RoleProvider
セキュリティ メカニズムとしてはこれで十分です。多くのことが複雑になりましたが、おそらくもっと簡単にできたはずです。しかし、それは完了しており、非常に有益な学習経験でした. 後で、すべてを切り取ってサイト固有のモデルに置き換えることもできますが、すべてのユーザー プロファイル情報を、サイト専用にインデックス化および構築された 1 つのテーブルに保持したいと考えています。
次に、ユーザーの個人プロファイルの開発に移ります。基本的なユーザー ログイン システムよりも多くのユーザー情報を保存する必要があります。ProfileProvider をチェックアウトしましたが、まったく別のワームのようです。オブジェクトを再構築する必要なく、web.config から直接ユーザー プロファイルを構成できる柔軟性があり、ProfileProvider が残りを処理する点が気に入っています。しかし、私が恐ろしいのは、これが原因でクエリを実行したり、データベースでレポートを作成したりする PITA です。この事実は、ProfileProvider に対する私の判断を曇らせている可能性があります。ProfileProvider は、これに使用する適切なモデルですか?
既存のシステムのカスタマイズで行ったのと同じ道を進むべきですか、それとも独自のシステムをカスタム構築するべきですか?
一方で、ProfileProvider のカスタマイズを行うことは有益な学習体験になる可能性がありますが、他方では、これが急速にレポートとクエリの悪夢になりつつあることがわかります。しかし、自分でコーディングすると、クエリ/レポート作成が非常に簡単になりますが、学ぶことは少なくありません。
誰かが ProfileProvider モデルの使用またはカスタマイズの経験があり (それが実際に私が使用すべきものである場合)、有用な読み物の方向に私を向けることができるか、より有用な方向に私を導くことができる場合、私は本当に感謝していますそれ。
前もって感謝します。
asp.net-membership - 匿名プロファイルと認証済みプロファイルを ASP.NET で共存させることはできますか?
イベントがいつ発生するかを正確に把握しようとしていProfile_MigrateAnonymous
ます。
私のコードをトレースするだけで、匿名のメンバーシップ Cookie と認証されたメンバーシップ Cookie の両方を検出すると起動するというのが私の推測です。誰でもこれを確認できますか?私はここで本当に深い答えを探しています。「ユーザーがログインしたとき」に呼び出されるだけではありません。
今-なぜ私は気にするのですか?
ユーザーが認証された後も匿名のプロファイルを保持しようとしていたので、ログアウトしても自分が誰であるか、および設定されている可能性のある特定の設定を知ることができます.
私が見ている問題は、すべてのリクエストで Profile_MigrateAnonymous が発生していることです。ユーザーがログインしたときだけではありません。これにより、匿名のCookieをぶらぶらしておくのは悪い習慣であり、常にClearAnonymousIdentifier ();を呼び出す必要があると思います。
たとえば、私は新しい店と古い店を持っています。「新しいストア」にアクセスできるユーザーが、古いストアに戻らないようにしたいのです。明らかに - ほとんどのショッピング カートと同様に、セッションを開始するために認証する必要はありません。したがって、唯一の方法は、設計どおりに「ClearAnonymousIdentifier」を呼び出すことですが、セカンダリ Cookie「UseNewStore」を保持して、どのストアに行くべきかを追跡することだと思います。
これは良い解釈ですか?それとも、Profile_MigrateAnonymous が常に呼び出されていることを気にする必要はありませんか?
asp.net-mvc - aspnet_Profiles テーブルの PropertyValuesString フィールドと PropertyValuesBinary フィールドは何のためのものですか?
PropertyValuesString は、通常、これらのタイプのオブジェクトのキーと値のペアであるものの値部分用であると考えました。しかし、PropertyValuesString に既に値を入れている場合、PropertyValuesBinary フィールドはどこに入るのでしょうか?
両方のフィールドは null 不可であるため、それぞれに何かを入れる必要があります。2つの違いは何ですか?何を入れる必要がありますか?
また、なぜ複数形なのか疑問に思っていました - PropertyValue s - キーと値のペア全体では意味がありません.1つのプロパティには1つの値が必要だと思いました.
asp.net-mvc - Asp.net MVC プロファイル プロバイダーを使用する必要があるのはなぜですか?
ユーザープロファイル情報の約 20 フィールドを含むデータベースが既にあります。代わりにカスタム プロバイダーを作成する利点が何であるかはわかりません。誰かが利点を説明できますか? ありがとう。
.net - ASP.NETProfileBase.Createの動作を既存のユーザー名で指定した場合
すでに存在するユーザー名が指定されている場合、ProfileBase.Createは既存のユーザーに関連付けられているProfileBaseを返しますか(ユーザー名が存在しない場合は、新しいユーザーを作成して新しいユーザーを返します)?
些細な質問でお詫びしますが、MSDNのドキュメントはほとんど役に立ちません。
c# - .NET メンバーシップでリスト型のプロファイル プロパティを使用する
私は、認証だけでなく、ロールとプロファイル管理を提供する必要がある C# Web サービスに取り組んでいます。各プロファイルに List 型のプロパティが必要です。web.config のプロファイル セクションは次のようになります。
ただし、Web サービスを開始してそのプロパティにアクセスしようとすると、次のエラーが返されます。
System.Configuration.ConfigurationErrorsException: このプロパティの型を読み込もうとすると、次のエラーが発生しました: 型 'System.Collections.Generic.List<String>' を読み込めませんでした。(C:\Projects\MyProject\web.config 行 58) ---> System.Web.HttpException: タイプ 'System.Collections.Generic.List<String>' を読み込めませんでした。
この目的でジェネリック コレクションを使用する方法はありますか?
asp.net - 1 つの長い列ではなく、別の列に asp.net ユーザーのプロファイル情報を保存しますか?
asp.net ユーザーのプロファイル情報を作成すると、すべてのプロパティ値が 1 つのフィールドに作成されます。これは、照会するのが最も簡単なことではありません。値が City:s:0:10State:s:10:15. ...
asp.net-mvc - プロファイル システム: ユーザーは同じ ID を共有します
重い負荷がかかると、サイトに奇妙な影響があります。
他のユーザー設定のプロパティをランダムに取得します。私は独自のプロファイル システムを実装しているので、プロファイル システム自体を責めることはできないと思います。
デバッグを開始するポイントが必要です。どこかにプロファイル エントリにマップされる Cookie 値があると思います。このマッピングがどのように機能するかを見る機会はありますか?
これが私のプロファイルプロバイダーです:
これは、コントローラーでの使用方法です。
デバッグしたい: 異なる Cookie を提供する 2 人のユーザーが同じプロファイル ID を取得するにはどうすればよいですか?
編集
getuniqueid のコードは次のとおりです。
そして、これはSPです:
asp.net - カスタムASP.Netメンバーシップとログインコントロール
既存のデータベーステーブルにユーザーが既に保存されているWebアプリのカスタムメンバーシッププロバイダーを作成しています。チュートリアルのコードを使用してプロバイダーをすぐに開始できましたが、実際のログインプロセスをどのように操作できるかについて少し迷っています。
私のカスタムプロバイダーにはValidateUser()のオーバーライドメソッドがあり、現時点ではtrueを返しています。しかし、セッションスコープに格納する現在のユーザーオブジェクトを作成したいと思います。このオブジェクトは、ユーザーに関するいくつかの詳細を格納するだけです。
別のオプションはASP.Netプロファイルプロバイダーを使用することだと思いますが、ログインプロセスにフックして、このユーザーオブジェクトを作成するか、現在のユーザーのプロファイル情報を入力するコードを実行する場所がわかりません。
c# - カスタム プロバイダーとデザイン パターン
ASP.NET 2.0 とそのさまざまなプロバイダーを使用しています。必要なメソッドのほとんどをオーバーライドし、次のカスタム プロバイダーを用意しました。
ProjectMembershipProvider ProjectProfileProvider ProjectRoleProvider
私のプロジェクトの設計では、カスタム プロバイダーをファサード (スタイル デザイン) でラップし、プロファイリング、メンバーシップ、および API メソッドのロールを組み合わせて組み合わせて、開発者にとって物事を簡素化することを意図していました。
しかし、カスタム プロバイダーの多くのメソッドは実際には変更する必要がないことがわかりました。そして、まったく同じことを行う別のメソッドでスタンドアロンのメソッドをラップするのはばかげているようです。
だから - 私のアプローチは間違っていますか?または、エンド ユーザーが必要に応じてカスタム プロバイダーをインスタンス化し、必要に応じて mix/match API をインスタンス化できるようにする必要がありますか? これは私には少し冗長に思えますが、別の方法がわかりません。
アドバイスをいただければ幸いです。
ありがとう。