Junky's IT Notebook

统计

留言簿(8)

积分与排名

WebSphere Studio

阅读排行榜

评论排行榜

Liferay的授权与内容管理(转)

Liferay的授权与内容管理

 

本节主要内容是Liferay的授权操作以及内容管理,在介绍授权早作的同时将结合上一篇的内容,探讨程序背后的执行流程,也会凸现出在进行自己的portlet开发时所要注意的权限相关代码,为portlet的开发打下基础。

 

 liferay-portal-4.1.2的权限管理主要有2部分构成:

1.user的部门归属

2.对单个portlet的授权

 

超级用户登陆系统后,将进入超级用户的管理界面,管理界面总共有GuestPrivateCMSSupport 四层组成,即在Myplace中的4种视图, 现对其进行介绍.

Guest视图:主要管理普通用户的所访问的主页内容,在此视图中可以管理展现在主页上的各个portlet,管理portlet中展现的内容以及portlet的展现形式以及方位。Portlet的内容管理放在稍后的视图中详细讲解,portlet的方位以及显示形式后可以通过页面上直接的拖放进行设置。

      默认情况下,我们所列的portlet就是匿名用户所看到的门户,在每个portlet的设置中,我们还看到了权限的设置,可以将这个portlet的配置,查看等权限(每个portlet的权限不相同,每个都有配置、查看权限,但是有个复杂的portlet如用户管理的就有更多的如添加用户、删除用户等权限)授予用户,这里权限的授予分6级,直接授予用户,授予组织、授予地点、授予用户群、授予社群和授予客人(用户群和社群是自定义的)。Liferay的用户机制为公司—地点—组织—个人,所以授予某一高级的组,下挂的用户将都会自动获得权限。在我的应用中,我将WIKI加入了门户首页,同时将察看与删除授予匿名用户,所以,首页就拥有了一个大家参与修改的区域WIKI了!

Private 视图:这个是超级用户的私人界面,这里特别分析了几个简单portlet的权限管理的实现。

HelloWorldPortlet位置Test>helloworld 这个portlet是最简单的一个展示,而且仅仅只有view的功能,所以这个权限管理就是能否在用户的视图中显示就行了,代码中的权限代码无,只是由layout调用HelloWorldPortlet。注:这里是通过设置直接调用HelloWorldPortlet,没有经过Struts框架,所以代码直接继承GenericPortlet,不能由路径访问。

Announcements位置,这个portlet中访问路径由struts配置文件指定,这个portlet代码ViewAction继承PortletActionPortletAction继承的是Struts Action.portlet.xml中,

<name>view-action</name>

<value>/wiki/view</value>

指定了这个portletview所调用的路径,portal容器会根据struts的配置调用指定的Action。在进行action调用时,很显然通过了Liferay扩展的PortalRequestProcessor(上一篇提到),也就进行了权限检查。配置Announcements的路径在liferayportlet.xml中配置,为/announcements/edit_configuration,同样这也是一个struts路径,她的权限管理也同view一样,在PortalRequestProcessor中完成。

IFramePortlet这个portlet也是一个简单标签的使用例子。在这个portlet中,与HelloWorldPortlet相同,也没有Struts的路径配置,而是直接在portlet.xml中定义了接受请求的Action,所继承的StrutsPortlet由于不是由struts Action而是GenericPortlet扩展而来,所以在访问的时候没有通过PortalRequestProcessor,所以其内部明确调用了liferay的权限管理代码:

PermissionChecker checker =

             PermissionThreadLocal.getPermissionChecker();

 

由上面我们所分析的几个简单的portlet来看,以后在进行portlet开发时有2种选择,当逻辑比较少时,我们可以象IFramePortlet一样,通过对StrutsPortlet的继承完成。当业务逻辑比较复杂时(多个路径),采用Struts进行路径配置时,最好同Announcements一样,通过继承PortletAction来将自身开发的portlet纳入liferay的权限管理框架中。

 

CMS视图:明显,这个层进行文档管理,用过Guest视图就可以知道门户的所有的新闻文章都在journal中进行管理,对它的使用网上有很多很有用的文章,多用几次也就熟悉了,强大的文本、图像编辑功能可以就近使用而不再用自己编码,肯定也是很愉快的了:)

 

Support视图:这个视图也是其他用户(非管理员用户)登陆后的定制页面,由管理员进行定制,主要操作和上面一致。

posted on 2007-05-31 13:55 junky 阅读(1145) 评论(0)  编辑  收藏 所属分类: portal


只有注册用户登录后才能发表评论。


网站导航: