私は、プロバイダーがバックオフィスから役割リストを作成する際に照会されなかったことに気づき、getallrolesが呼び出されなかっただけでなく、実装されなかったという結論に達しました。
代わりに、役割のリストについてハイブが照会されます。
メンバーシップサービスは5.1から再び組み込まれたという主張にもかかわらず、いくつかの特に深刻な制限があります。
5.1に取り組んでいて、カスタムのロールプロバイダーが必要な場合は、ロールをUmbracoに同期するソリューションを考え出す必要があります。
カスタムロールプロバイダーが必要ない場合は、ハイブにクエリを実行して関連コンテンツをプルできます。特別なURLは次のとおりです。
security:// profiles
HiveMembershipWrapperによってプロファイルデータを保存するために使用されます。プロファイルデータは、ASP.NetMembershipProviderに保存できないメンバー/ユーザーの追加データです。
security:// user-groups
バックオフィスのユーザーグループ/ロールのデータを保存するために使用されます。
security:// member-groups
メンバーのグループ/ロールのデータを保存するために使用されます。
security:// member-types
メンバータイプのスキーマデータを格納するために使用されます
security:// membership-data
UmbracoMembershipProviderがASP.NetMembershipProvider情報を格納するために使用します
security:// users
バックオフィスユーザーのHiveメンバーシッププロバイダーラッパーを照会するために使用されます
セキュリティ://メンバー
UmbracoメンバーのHiveメンバーシッププロバイダーラッパーを照会するために使用されます
最後に、メンバーシップサービスが抽象化されていることに注意してください。Umbracoのメンバーシップを引き継ぐための完全に新しい別個のインターフェースがあります。
'baseline' .netメンバーシッププロバイダーとロールプロバイダーを使用するのではなく、現在のIRoutableRequestContextで利用可能なメンバーシップサービスを使用します。
たとえば、Membership.ValidateUser()を使用するのではなく、提供されたMembershipProviderをラップする_context.Application.Security.Members.Validate()を使用します。
幸運を祈ります。そして、コミュニティがこのリリースを一緒に踏みにじるので、あなた自身の発見を投稿してください。
編集:メンバーの役割のリストを取得するための例
using (var securityUow = context.Application.Hive.OpenReader<ISecurityStore>())
{
return securityUow.Repositories.GetEntityByRelationType<UserGroup>
(
FixedRelationTypes.DefaultRelationType,
Umbraco.Framework.Security.Model.FixedHiveIds.MemberGroupVirtualRoot
).OrderBy(x => x.Name).ToList();
}