3

我想通过我的 Nexus 存储库代理的 Maven 存储库之一是私有的,,它需要用户名/密码才能访问。因此,我以通常的方式设置了一个代理存储库,并在身份验证设置下输入了我的凭据。到现在为止还挺好。

现在,通常我会将新存储库添加到公共存储库组。但是,据我了解,这将允许任何有权访问我的存储库的人通过我的存储库访问这个私有存储库,而无需身份验证。它是否正确?

我可以通过创建包含新存储库的私有存储库组来解决此问题吗?然后我必须创建一个新的存储库目标权限才能限制对新私有组的访问,对吗?

我认为下一步将是在我<profile>的. 最后,我需要从我的默认设置中排除新的存储库 URL 模式(例如, )。<repository>settings.xml<mirror><mirror><mirrorOf>*,!thirdparty,!private</mirror>

我在正确的轨道上吗?让这比需要的更难?还是错过了什么?

4

1 回答 1

1

如果您不限制对您设置并添加到公共组的代理存储库的访问,您的怀疑是正确的。

但是,如果您使用用户名和密码限制对代理存储库的访问,则其工件将在公共组中可用。但仅限于使用对您的代理存储库具有足够访问权限的凭据连接到它的用户。公共组不仅聚合内容,还考虑它聚合的存储库的安全设置。

如果您遵循这种方法,您需要做的就是让应该被允许访问代理 repo 内容的用户使用您提供的凭据连接到 Nexus 并控制访问权限。当匿名用户连接到公共组时,匿名用户将无权访问工件。

您的方法也可以,但是对于所有用户来说,它的工作量要大得多,因为您在 Nexus 之外而不是在那里控制它。

于 2012-05-19T04:34:14.080 回答