Configuration 具有sitecore域的匿名用户

Configuration 具有sitecore域的匿名用户,configuration,dns,sitecore,anonymous,sitecore6,Configuration,Dns,Sitecore,Anonymous,Sitecore6,我正在检查这是否是一个sitecore错误,或者我是否遗漏了一些明显的错误 编辑澄清:我遇到的问题是,我正在尝试在Domains.config文件中设置配置设置,以便Sitecore不应为以这种方式设置的域创建和/或返回匿名用户。但是,如果在域上使用Domain.GetUsers函数,仍然会返回匿名用户 成员资格提供程序是自定义构建的,并以只读模式连接到LDAP 细节 使用Sitecore 6.4.1并在App_Config/Security/domains.Config中提供以下域配置 <

我正在检查这是否是一个sitecore错误,或者我是否遗漏了一些明显的错误

编辑澄清:我遇到的问题是,我正在尝试在Domains.config文件中设置配置设置,以便Sitecore不应为以这种方式设置的域创建和/或返回匿名用户。但是,如果在域上使用Domain.GetUsers函数,仍然会返回匿名用户

成员资格提供程序是自定义构建的,并以只读模式连接到LDAP

细节 使用Sitecore 6.4.1并在App_Config/Security/domains.Config中提供以下域配置

<domain name="DOMAINNAME" ensureAnonymousUser="false" anonymousUserName="" everyoneRoleName="" />
以及该domain.config文件中的这些注释

anonymousUserName: <snip> Set to blank to disable the anonymous user for the domain. Optional
ensureAnonymousUser: Indicates if the domain should ensure that an anonymous user for the domain exists in the Membership database. Optional - default value: false
everyoneRoleName: <snip> Set to blank to disable the everyone role for the domain. Optional - default value: Everyone
如果我使用以下代码

List<Sitecore.Security.Accounts.User> users = new List<Sitecore.Security.Accounts.User>();
var domain = Sitecore.Security.Domains.Domain.GetDomain(DOMAINNAME);
users.AddRange(domain.GetUsers().ToArray<Sitecore.Security.Accounts.User>());
我将匿名用户包括在用户列表中。根据domain.config文件中的注释,我假设如果按照上述方式设置域,则不应获取匿名用户


有什么明显的地方我遗漏了吗?

只是一个猜测,因为我以前没有使用过6.4或调整过这些类型的设置。。。但我相信Sitecore的会员资格中总是预先打包了匿名用户。通过将ensureAnonymousUser设置为false,您只是告诉它不要确保它在那里,但默认情况下它已经在那里了。你为什么不试试这个测试:

将ensureAnonymousUser设置为true,然后从用户管理器中删除[*]匿名用户。 注销并重新登录,看看它是否再次出现。如果是这样的话,那么确保这一方面起作用。所以 将ensureAnonymousUser设置为false,然后执行相同的操作。用户回来了吗? 这实际上只是一个关于它如何工作的预感——我现在没有这样的环境可以玩,但值得一试


[*]-若要从用户管理器中删除用户,请转到Sitecore>安全>用户管理器

我认为这对您使用的会员资格提供商来说是一个更大的问题。看看


也许这会对你有所帮助。

嗨,马克,ensureAnonymousUser可能与我的观点无关,但我之所以将其包括在内,是因为它涉及匿名用户。如果域中不存在匿名用户,则将其设置为true可确保创建匿名用户。Sitecore在Sitecore域中确实有一个匿名用户,但我正在尝试通过自定义只读LDAP成员资格提供程序设置一个非Sitecore域,我不希望在GetUsers函数中为所述非Sitecore域返回匿名用户。很高兴知道。为了更好地理解您的问题,您应该使用这些信息更新问题。你看了吗?我编辑了这个问题来澄清。我正在使用一个定制的LDAP成员资格提供程序,因为LDAP模块太多,没有为我提供此客户端所需的内容。这可能是我的问题的一部分,我编写了成员资格提供程序,因为AD模块没有为此客户端做我们需要做的事情。我的主要问题是,如果配置文件中的设置正确,我认为sitecore不应该创建或返回匿名用户?sitecore与此无关。在成员资格提供程序上方只有包装器。使用现成的标准ASP.Net安全性。你需要在那里挖。或者实现自己的会员资格提供者。正如我在第一次评论中所说,我确实实现了自己的会员资格提供者。您提供的链接没有讨论匿名用户,因此我仍然认为这是一个特定于sitecore的内容,特别是因为domains.config文件包含匿名用户名和everyoneRoleName设置以及与这些设置相关的注释。