【问题标题】:Handling secure media items in extranet for Sitecore 6?为 Sitecore 6 处理外联网中的安全媒体项目?
【发布时间】:2012-07-16 23:27:23
【问题描述】:

我已在 Sitecore 解决方案上设置了外联网。登录和访问外联网下方的项目在安全等方面工作正常。

但也有一些文件,只有登录到 Extranet 的用户才能访问。为此,我在媒体库的根目录中创建了一个名为Extranet 的文件夹。我已经为此设置了安全性(添加了extranet\user 并从extranet\everyone 删除了read 访问)。我还检查了security 字段中的inheritance 选项。

但是当我在这个文件夹下添加一个文件时,它看起来不像是继承了安全设置。尽管extranet\anonymous 不能访问该项目,extranet\user 也不能。如果我明确设置文件的安全性并允许extranet\user,它就可以工作。

我可能会错过什么?

【问题讨论】:

    标签: sitecore sitecore6


    【解决方案1】:

    问题在于访问冲突。您必须创建一个不同的角色,例如:extranet/registered 并授予对它的读取权限。登录后,在该登录用户上设置“extranet/registered”角色。 一些关于如何设置角色的代码:

    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 authenticationmanager(来自 sitecore.security 命名空间)。

    试试我们的,让我知道结果如何。

    【讨论】:

      猜你喜欢
      • 2014-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多