codeq/passwordprotectedcontent
Composer 安装命令:
composer require codeq/passwordprotectedcontent
包简介
Password protect any document and content NodeType
README 文档
README
Password Protect Content for Neos CMS
This package allows editors to password protect any document and content NodeType, where the mixin is included.
Attention: This should not be used for content that needs to be strongly protected. We do store the unencrypted passwords in the content repository, so that multiple editors can see and change the password. The password is not personalized and therefore can easily be shared. Also we do not have a brute-force protection in the package.
Limitations:
- No brute-force protection
- No session, where the allowed pages is stored
Installation
CodeQ.HtmlWidget is available via packagist. "codeq/passwordprotectedcontent" : "~1.0" to the require section of the
composer.json or run:
composer require codeq/passwordprotectedcontent
We use semantic-versioning so every breaking change will increase the major-version number.
Usage
- Add the mixin
'CodeQ.PasswordProtectedContent:Mixin.Password'to any NodeType to allow editors to configure a password. - Add the following process function to protect the content
@process.protect = CodeQ.PasswordProtectedContent:Helper.ProtectContentThe process function is not added automatically, because you probably want to render headers and footers of your page. No you can specifically define which content should be rendered and which not. - You need to configure your Fusion object to be cached dynamic based on the post parameter like this:
@cache { mode = 'dynamic' entryIdentifier { node = ${node} } context { 1 = 'node' 2 = 'documentNode' 3 = 'site' } // cache the initial request ot see the form and don't cache the password-check result entryDiscriminator = ${request.httpRequest.methodSafe ? 'static' : false} }
Usage with ContentCollection
To replace the ContentCollection with the password protected form, you will need to get the password from the documentNode and not the ContentCollection node, also you probably do not want to use a separate cache. So apply above @cache to your DocumentNode rendering and render the ContentCollection like this:
main = Neos.Neos:ContentCollection {
nodePath = 'main'
@process.protect = CodeQ.PasswordProtectedContent:Helper.ProtectContent {
configuredPassword = ${q(documentNode).property('passwordProtectedContentPassword')}
}
@cache {
mode = 'embed'
}
}
Replacing the default form rendering
You can also replace the form rendering with your own by overriding the prototype:
prototype(CodeQ.PasswordProtectedContent:Component.PasswordForm) {
renderer = 'YOUR CODE'
}
License
Licensed under MIT, see LICENSE
Contribution
We will gladly accept contributions. Please send us pull requests.
The development and the public-releases of this package is generously sponsored Code Q Web Factory.
codeq/passwordprotectedcontent 适用场景与选型建议
codeq/passwordprotectedcontent 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4.42k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2019 年 08 月 12 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「flow」 「password」 「Neos」 「FUSION」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 codeq/passwordprotectedcontent 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 codeq/passwordprotectedcontent 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 codeq/passwordprotectedcontent 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
An improved history backend module for Neos
Put images nicley in a row
Create link to static resources with cache-breaking segment based on md5 of the file
The PHP class PasswordGenerator serves as a password generator to create memorable passwords like the keychain of macOS ≤ 10.14 did.
Laravel middleware to restrict a site or specific routes using HTTP basic authentication
Allows changing uploaded asset filenames in Neos CMS
统计信息
- 总下载量: 4.42k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-08-12
