flowpack / neos-frontendlogin
Neos 插件,演示了简单的前端登录
4.2.1
2022-03-29 10:50 UTC
Requires
- neos/neos: ^5.0 || ^7.0 || ^8.0 || dev-master
README
Neos 插件,演示了简单的 "前端登录"
免责声明
此包主要用于演示目的。您可以在生产应用中使用它,但如果您需要任何自定义行为/样式,则可能最简单的方法是创建自己的登录表单插件。它只是几个文件。
设置与使用
- 将包安装到
Packages/Plugin/Flowpack.Neos.FrontendLogin(例如,通过composer require flowpack/neos-frontendlogin) - 登录 Neos 后端并创建一个新的页面 "登录"(例如,在
/login) - 在该页面上插入新的插件
前端登录表单 - (可选)创建一个 "成员区域" 页面(例如,在
/members)及其子页面,并按以下说明保护它 - 发布所有更改
- 使用 UI 创建新的前端用户(在 "管理 > 前端用户")
- 或者,您可以使用
neos.neos:user:create命令(例如./flow user:create --authentication-provider "Flowpack.Neos.FrontendLogin:Frontend" --roles "Flowpack.Neos.FrontendLogin:User")
现在,您应该可以通过导航到 /login.html 来测试前端登录
受保护成员区域
如果您想创建一个仅供已验证前端用户可见的 "成员区域",请将以下 Policy.yaml 添加到您的站点包中
privilegeTargets: 'Neos\ContentRepository\Security\Authorization\Privilege\Node\ReadNodePrivilege': 'Acme.YourPackage:MembersArea': # Replace <NodeIdentifier> with the node's identifier to be targeted (you can see the identifier in the "Additional info" # group in the Property Inspector of the Neos Backend) matcher: 'isDescendantNodeOf("<NodeIdentifier>")' roles: 'Flowpack.Neos.FrontendLogin:User': privileges: - # Grant "frontend users" access to the "Member area" privilegeTarget: 'Acme.YourPackage:MembersArea' permission: GRANT 'Neos.Neos:Editor': privileges: - # Grant "backend users" to access the "Member area" - Otherwise those pages would be hidden in the backend, too! privilegeTarget: 'Acme.YourPackage:MembersArea' permission: GRANT
指定的节点及其所有子节点将隐藏给匿名用户!
注意:将 "Acme.YourPackage" 替换为您的站点包的包密钥,将 "<NodeIdentifier>" 替换为 "成员区域" 节点的节点标识符(如描述所述)。
重写模板路径到您的包
您可能需要根据需要修改模板。创建一个 Views.yaml 文件,并添加以下配置
- requestFilter: 'isPackage("Flowpack.Neos.FrontendLogin") && isController("Authentication") && isAction("index")' options: templatePathAndFilename: 'resource://Acme.YourPackage/Private/Templates/Authenticate/Index.html'
将 templatePathAndFilename 中的实际值调整为您的需要,并将 原始模板 复制到该位置,以便任意调整。
登录/注销后重定向
自 2.1 版本起,您可以在登录表单属性中指定用户登录和/或注销后要重定向到的页面。
提示:要重定向到外部 URL,您可以创建一个指向该 URL 的快捷节点,并将其指定为目标重定向选项。
用户管理 UI
用户管理 UI 可供管理员以及具有 Flowpack.Neos.FrontendLogin.Ui:UserAdministrator 角色的人员使用。
它允许使用 Flowpack.Neos.FrontendLogin:Frontend 身份验证提供者独家管理用户。
删除过期用户
可以使用 CLI 命令 user:deleteexpired 删除过期用户。
它将删除具有 Flowpack.Neos.FrontendLogin:Frontend 身份验证提供者的精确一个账户的所有用户。