0

Sitecore ソリューションにエクストラネットをセットアップしました。エクストラネットの下のアイテムへのログインとアクセスは、セキュリティなどで正常に機能します。

ただし、エクストラネットにログインしたユーザーのみがアクセスできるファイルもあります。このために、メディア ライブラリのルートに というフォルダを作成しましたExtranet。これにセキュリティを設定しました ( を追加し、からのアクセスextranet\userを削除しました)。フィールドのオプションも確認しました。readextranet\everyoneinheritancesecurity

しかし、このフォルダーの下にファイルを追加すると、セキュリティ設定が継承されているようには見えません。extranet\anonymousアイテムにアクセスできませんがextranet\user、どちらもできません。ファイルにセキュリティを明示的に設定して許可するextranet\userと、機能します。

何が欠けている可能性がありますか?

4

1 に答える 1

1

問題は、アクセスの競合にあります。別の役割を作成する必要があります。例:エクストラネット/登録済みで、読み取りアクセス権を付与します。また、ログイン時に、ログインしているユーザーに「エクストラネット/登録済み」の役割を設定します。役割を設定する方法に関するいくつかのコード:

var loginUser = database.ValidateUserForLogin(userName.Trim(), password.Trim());
            if (loginUser == null) return false;

            User _user = AuthenticationManager.BuildVirtualUser(domainUser, true);

            if (_user != null)
            {
                AuthenticationManager.Login(_user);
                _user.RuntimeSettings.AddedRoles.Add(@"extranet\registered");
                _user.Profile.SetCustomProperty("UserId", loginUser .UserId.ToString());
            }

loginUserは、データベースのカスタムオブジェクトです。(sitecore.security名前空間からの)sitecoreauthenticationmanagerを使用しています。

これを試してみて、どうなるか教えてください。

于 2012-07-16T15:27:23.457 に答える