2011-03-04 10 views
1

私たちは広告と統合されたサイトコアを持っています。私たちのユーザーには2つのレベルのアクセスレベル2と高い権限が必要なものがあります。ユーザーに付与されるアクセスのレベルは、2つのCookieによって決まります。 1つはaspxauto cookieで、30年後に期限切れとなり(レベル2)、セッションの終了時に期限切れになります(他のすべてはレベル4と呼ばれます)。レベル4のCookieには、ユーザーが属するロールのリストがあります(このリストは、ユーザーがAD内にあるロールのリストのサブセットです)。Sitecore - ユーザーの役割を制限する

ユーザーにログインし、利用可能なCookieに基づいて役割に追加する必要があります。

私はこれまでGetRolesForUserメソッドをオーバーライドし、唯一のクッキーに役割を返す自分ADRoleProviderを作成しました。しかし、これは機能しません。セキュアなページに直接行くと(ユーザーが広告の役割を担っているので、Cookieは存在しません)

私は、明白な理由のためにクッキーで指定された唯一のロールにユーザーを追加するADで、ユーザがあるすべてのロールを削除することはできません。ユーザーが役割にないと思うようにSitecoreをトリックする方法はありますか?

-Victor

答えて

1

あなたはisUserInRoleメソッドをオーバーライドするためにしようとしましたか?私は、Sitecoreがアクセス権を解決しようとするときにも使用されると思います。

+0

アレックス、あなたは頭の上で釘を打つ。私はLightAD ADRoleProviderを継承し、IsUserInRoleとGetRolesForUserメソッドをオーバーロードしました。これは、IsUserInRoleCacheとAccessResultCacheのクリアとアイテムリゾルバの後のカスタムパイプラインプロセスと組み合わせて、必要なものすべてを持っています。あなたのリードをありがとう! – VFein

関連する問題