为具有不同权限的不同用户显示不同的视图
Posted
技术标签:
【中文标题】为具有不同权限的不同用户显示不同的视图【英文标题】:show different views for different users with different permissions 【发布时间】:2011-08-23 10:37:45 【问题描述】:我正在开发一个类似网站的社交网络,但在如何为不同类型的用户管理视图方面遇到了一些麻烦。我有几个页面,它的内容和结果视图取决于用户权限。 例如,如果用户是组的成员(具有会员资格)可以在该组页面中看到很多东西,但如果他不是,则模板应该有很多不同。
最简单的方法是用IF结构控制页面的各个部分。但它有点讨厌,我不喜欢它。
你有什么更好的主意,或者如果是这种情况的最佳解决方案。
感谢您的帮助。
【问题讨论】:
【参考方案1】:这在某种程度上取决于您希望如何创建模板。 :-)
-
组合插槽、部分和组件。这可能是最简单和最“可读”的解决方案。它将逻辑划分为易于重用的块。
您可以创建单独的布局,并在模板中调用
<?php decorate_with('template_user'); ?>
(将if
-statements 添加到部分并包含部分)
或创建您自己的基本操作类,在preExecute()
中设置模板 (this->setLayout('template_user')
)
创建单独的操作,并根据用户的权限转发用户。
我会选择第一个 :-)
【讨论】:
谢谢。他们中的大多数人也在我的脑海中,但我想我也会选择第一个。以上是关于为具有不同权限的不同用户显示不同的视图的主要内容,如果未能解决你的问题,请参考以下文章
jenkins权限管理,实现不同用户组显示对应视图views中不同的jobs
jenkins权限管理,实现不同用户组显示对应视图views中不同的jobs