如果用户是匿名的,则不允许访问plone站点及其子站点

iw.rejectanonymous的Python项目详细描述


什么是iw.rejectanonymous?

这个包是为了拒绝来自plone的无条件匿名用户 站点,而不更改安全策略矩阵或工作流。他们 应该被plone重定向到登录表单。基本的用例是一个外联网, 所有访客都必须经过认证。

使用

  • 扑通一声3
  • 扑通一声4

安装

iw.rejectanonymous添加到 plone.recipe.zope2instance部分

...
[instance]
recipe = plone.recipe.zope2instance
...
eggs =
    ...
    iw.rejectanonymous
    ...
...
# The ZCML slug is no more required with Plone 3.3 and up
zcml =
    ...
    iw.rejectanonymous
    ...

重新运行buildout,然后打开 你的例子。新的私有站点复选框允许您(取消)激活 iw.rejectanonymous

定制

iw.rejectanonymous允许将某些资源发布到 匿名用户,更具体地说是启用所需的所有媒体和资源 从标准登录页和密码重置页。

添加有效ID

如果自定义日志页需要某些特定的图像或站点 策略组件提供的注册页的名称不是login_form,您可以 添加匿名用户可用的其他ID(URL最后一部分)。

from iw.rejectanonymous import addValidIds
...
addValidIds('some_image.png', 'my_login_form')

添加有效子部分

如果要让匿名用户浏览某些文件夹的页面,则需要 添加有效子部分。

from iw.rejectanonymous import addValidSubparts
...
addValidSubparts('disclaimer', 'public_section')

添加有效的子部件前缀

如果要让匿名用户浏览某些文件夹的页面,请使用 特定的前缀,需要添加有效的子部分前缀。

from iw.rejectanonymous import addValidSubpartPrefixes
...
addValidSubpartPrefixes('public_')

隐藏viewlets

您可以在站点视图(登录表单、密码重置)中隐藏viewlet 表格)。您需要在站点策略zcml中添加这样的行。

<browser:viewlet
  name="original.viewlet.name"
  for="iw.rejectanonymous.IPrivateSite"
  manager="original.viewlet.manager.Interface"
  class="original.viewlet.Class"
  permission="cmf.SetOwnProperties"
/>
name
保留原来的viewlet名称。
for
iw.rejectanonymous.IPrivateSite标记接口设置为专用站点
manager
保留原经理
class
保留原始viewlet类
permission
选择未授予匿名用户但授予任何人的权限 否则。cmf.SetOwnProperties如果您的站点具有标准 安全策略。

看看我们是如何将plone.personal_barplone.searchbox隐藏在 ^这个组件的{tt16}$。

贡献者

  • 伯特兰·马修
  • 托马斯·德斯维南
  • 吉勒·伦芬特
  • 伊丽莎白·莱迪

更改日志

1.2.4(2019-05-21)

  • 如果plone.restapi可用,请将与身份验证相关的终结点添加到有效的ID。 [托马斯德斯维南]
  • 符合plone.rest:允许匿名选项请求 [ebrehault]

1.2.3(2014-04-30)

  • 修改了getportallogoid函数的编码方式。 [VincentFretin]
  • 使iw.rejectanonymous在测试中工作 [雅罗尔]

1.2.2(2012-08-21)

  • 4.2.1兼容性。 [托马斯德斯维南]

1.2.1(2012-08-16)

  • 包括cmf权限zcml。 [托马斯德斯维南]

1.2(2012/5/16)

  • zcml复制viewlet设置 [eleddy]
  • readme.rst中的拼写错误 [格伦芬特]
  • setup.py中的版本是float [格伦芬特]

1.1(2012/5/12)

  • 新增自定义单据 [格伦芬特]
  • 重新启用的测试 [格伦芬特]
  • 将某些Viewlet禁用到Anonymous,并添加了用于自定义的文档。 见https://github.com/collective/iw.rejectanonymous/issues/1 [格伦芬特]
  • 添加的有效子部分前缀如iw.rejectAnonymous与 plone.app.theming(重氮) [格伦芬特]
  • E类启用门户子部分。 [托马斯德斯维南]
  • 在plone 4中,基本属性的使用是粗略的,可能是不兼容的。 捕捉错误,如果需要和使用更好的默认标志。 [eleddy]

1.0.2(2010-12-27)

  • 添加了z3c.autoinclude感知,因此zcml段塞不需要 在buildout*.cfg中明确添加。 [格伦芬特]
  • 添加自定义实用程序和文档(添加新启用的ID和子路径) [格伦芬特]
  • 启用Favicon。 [托马斯德斯维南]

1.0.1-2010年10月08日

  • 启用密码重置系统。 [托马斯德斯维南]

1.0.0-2008-02-11

  • 初次发行 [音乐]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java什么数据库最类似于Map,每个用户/id存储无限多个“键”和“值”?   java仅使用super pom进行测试   内存不足如何解析java。OutOfMemoryError:Java堆空间在增加堆大小的情况下将意味着延迟OutOfMemoryError   来自另一个类的mysql和java jdbc调用[运行时应用程序]   java通过下拉菜单更改搜索框搜索的内容   JAVAlang.ClassNotFoundException:sun。jdbc。odbc。JdbcOdbcDriver   java Selenium点击链接   JavaSpringHibernate:从唯一值列表中获取对象列表   java Bing广告与桌面身份验证问题   java如何在没有任何外部SDK的情况下从安卓打印到收据打印机?   未调用java菜单片段类   java在IDEA和PyCharm中同时为同一个项目工作   java我们如何为同一个异常提供不同的海关信息   jakarta ee中是否预定义了“请求”和“响应”变量或值?   java更好地解决“之前和之后”难题?   尝试将数据从Excel添加到Java   发送电子邮件的Java代码只适用于一个电子邮件id?   java如何从资产解析XML?