1

デフォルトのメンバープロバイダーを使用するUmbraco4.11では、ログインしていないユーザーのプロファイルにアクセスできますか?

カスタムプロファイルプロパティをweb.configに追加し、バックオフィスのMemberTypeに同じ小道具を追加し、次のようにしてプロファイルを作成しています。

MembershipUser member = System.Web.Security.Membership.CreateUser(username, password, email);
var profile = System.Web.Profile.ProfileBase.Create(member.UserName);
profile["FirstName"] = "John";
profile.Save();

これを行うことで、現在ログインしているユーザープロファイルを取得できます。

var currentUser = umbraco.cms.businesslogic.member.Member.GetCurrentMember();

しかし、ログインしていないユーザーのプロファイルを取得するにはどうすればよいですか?

例えば。私は試した:

var profile =  System.Web.Profile.ProfileManager.FindProfilesByUserName(System.Web.Profile.ProfileAuthenticationOption.All, username); 

ただし、これにより「指定されたメソッドはサポートされていません」という例外が発生します。

これは、外部プロバイダーと定期的に同期を実行する管理サービスで使用されるため、ユーザーコンテキストはありません。

4

1 に答える 1

1

もう一度使用ProfileBase.Create()します。心配しないでください。実際にプロファイルが再度「作成」されることはありません。

var profile = ProfileBase.Create(username);
string firstName = profile["FirstName"];

詳細については、以下を参照してください。

于 2013-01-30T13:34:50.283 に答える