一、取消上方dockbar的显示
这是在liferay的主题中默认的代码,就是所有登录的用户都会显示这个控制栏。
dockbar就是最上方的那个栏。
#if ($is_signed_in)
#dockbar()
#end
改成下面这样:
#if (($is_signed_in) && $permissionChecker.isCompanyAdmin($company_id))
#dockbar()
#end
对于非
admin users 就不会显示
二、禁止访问
用户依然可以通过这个连接进入控制面板:
http://localhost:8080/group/control_panel
如果需要禁止用户进入控制面板的话,就需要用hook了。
1)
Intoliferay-hook.xmladd
following:
<portal-properties>portal.properties</portal-properties>
2) Addportal.propertiesfile
to hook's src folder and add this line to it:servlet.service.events.pre=my.event.portal.ControlPanelAccessPreAction
3) CreateControlPanelAccessPreAction.javainto
appropriate package and add next code it
package my.event.portal;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.liferay.portal.kernel.events.Action;
import com.liferay.portal.kernel.events.ActionException;
import com.liferay.portal.kernel.util.WebKeys;
import com.liferay.portal.model.User;
import com.liferay.portal.security.auth.PrincipalException;
import com.liferay.portal.service.GroupLocalServiceUtil;
import com.liferay.portal.service.RoleServiceUtil;
import com.liferay.portal.service.UserServiceUtil;
import com.liferay.portal.theme.ThemeDisplay;
/**
* The ControlPanelAccessPreAction restricts access to Control panel of simple
* users.
*/
public class ControlPanelAccessPreAction extends Action {
/**
* Instantiates a new control panel access pre action.
*/
public ControlPanelAccessPreAction() {
super();
}
/*
* @see com.liferay.portal.kernel.events.Action#run(javax.servlet.http. HttpServletRequest,
* javax.servlet.http.HttpServletResponse)
*/
public void run(HttpServletRequest request,
HttpServletResponse response) throws ActionException {
try {
ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
if (GroupLocalServiceUtil.getGroup(themeDisplay.getLayout().getGroupId()).isControlPanel()) {
User currentUser = UserServiceUtil.getUserById(themeDisplay.getUserId());
if (!RoleServiceUtil.hasUserRole(currentUser.getUserId(),
currentUser.getCompanyId(),
"administrator",
true)) {
throw new PrincipalException("User " + request.getRemoteUser()
+ " can't access the control panel.");
}
}
} catch (Exception ex) {
throw new ActionException(ex);
}
}
}
4) Deploy hook
分享到:
相关推荐
liferay 国际化 表格 container 控制面板 CLOB 发送邮件
liferay 6.2 开发指南+用户手册 官方文档
Liferay Portal Liferay IDE
CAS4.2.4 连接Liferay6.2以上版本数据库用户表验证用户 project代码
环境搭建 一、资源准备 以上资源内容可以在Liferay的官方网站下载, 1 liferay-plugins-sdk-6.1.1...经过上面的三步,在Liferay IDE(Eclipse 4.2)的下方的server面板处,可以看到Liferay 6.1 CE Server,现在点击运行
包括liferay的用户配置,系统接口,包括Liferay Portal 6 企业应用开发,Liferay 用户开发接口,Liferay+in+Action,Liferay 系统开发等
liferay portal 开发指南liferay portal 开发指南liferay portal 开发指南liferay portal 开发指南
liferay 超级学习文档 liferay 框架 java hibernate liferay 不用多说
Liferay中的AUI框架,官方叫做Alloy,是一个UI超框架,能为浏览器的三方面,结构,风格和表现建立网络应用提供连续的简单的API。 它融合了三种设计语言:HTML, CSS 和 JAVA。 准确来说AUI是Liferay在YUI的基础上...
liferay 二次开文档
在实际的BPM集成开发过程中,Liferay和Activiti这两个异构的系统之间,用户、组的同步需求非常重要,用来实现签收组的概念,比如指定签收组、会签、抢签都需要用到。 Activiti可以通过自定义实现SessionFactory,...
Liferay Portal针对不同的用户会展现出不同的服务网页。当浏览Portal主页网址http://localhost:8080/时,自动转入网址http://localhost:8080/web/guest/home调出面向所有人的Guest社区公共主页。一个注册用户登录...
Liferay Web内容管理指南Liferay
Liferay教程
liferay tune
Liferay 是一个完整的门户解决方案,基于J2EE的应用,使用了EJB以及JMS等技术,前台界面部分...里面有大量已经做好的功能,比如你不在需要管理权限了,登录这些都不需要控制,里面有用户,用户组,角色。还是挺好的。
Liferay 6 入门教程
liferay快速入门quickstart
liferay6.2开发指南liferay6.2开发指南.doc
liferay文档 给初学liferay的人