User development,

A new message was posted in the thread "Portlet that lists all available 
portals for a user":

http://community.jboss.org/message/522258#522258

Author  : vineet tripathi
Profile : http://community.jboss.org/people/vineet_tripathi

Message:
--------------------------------------------------------------
Approach 1 -
When you create a portal and assign it the security to be viewed by a role or 
set or roles, that information is persisted in JBP_OBJECT_NODE_SEC, table of 
jboss portal schema. This table has 3 columns, PK, ROLE, NODE_KEY. If you query 
this table and group by role you will get the primary keys of all the portals 
to which a role is having access.
 
Once you have got the primary key of portals you can access JBP_OBJECT_NODE 
table to get the name of portals and construct the URLs to them.
Now, All the things that I mentioned above have few cons
 
1- The table JBP_OBJECT_NODE_SEC is not indexed on ROLE, So if your number of 
portals will grow you will face performance problem
 
2- There are portal services to get this information and probably accessing the 
tables directly will not be a good approach in long term(what if portal schema 
changes).
 
Approach 2- 
 
1- Find all the Portals created. You can find the context and then get all the 
children of context to get a list of all the portals.
     To find ur current node 
 
 PortalNode root = 
(PortalNode)request.getAttribute("org.jboss.portal.api.PORTAL_NODE");
  PortalNode portal = root;
  while (portal.getType() != PortalNode.TYPE_CONTEXT)
   {
      mainPage = portal;
      portal = portal.getParent();
   }
portal.getChildren();
configurator
2-  get the domain (see the reference guide) and get the uri for each node
 
3- Find the RoleSecurityBinding associated with each portal
 
4- use the getRoleName() to determine that to which role the securtiy binding 
is asscoiated:
 
RoleSecurityBinding roleSecurityBinding = 
getDomainConfigurator().getSecurityBindings(uri);
roleSecurityBinding.getRoleName() ;
 
 
Let us (everyone in the forum) know ur thoughts and how u finally did it (if 
you have something else in your mind).

--------------------------------------------------------------

To reply to this message visit the message page: 
http://community.jboss.org/message/522258#522258


_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to