我必须创建一个公共访问页面有限的网站。
所有页面都有一个带有登录/注册链接的标题部分,当用户已经登录时,会有一个注销链接。为此,我必须将rainlab用户插件会话组件放在我的布局中,使用security = all(以防止检测到ajax onLogout管理员错误)
但通过这样做,我无法再将此布局用于受限制的访问页面。
那么,做正确的方法是什么?
我想过使用2个布局,一个是使用security = all进行公共访问,另一个是使用security = user进行限制访问,但我真的不满意必须使用2个布局才能获得差异
任何更智能的解决方案?谢谢提前
答案 0 :(得分:1)
您可以对限制页面和公共页面使用相同的布局。将[session]组件引用添加到布局中,但不要在布局本身中设置它的属性。设置'安全'每页的属性(而不是布局本身)。
所以布局的顶部看起来像是:
name="Master Layout"
description = "Master layout for almost all frontend pages."
[session]
==
<!DOCTYPE html>
<html lang="en">
<head>
.....
页面顶部如下:
title = "Restricted Page"
url = "/classified"
layout = "master"
[session]
security = "user"
redirect = "account"
==
<div class="container">
我一直使用它没有问题。