[JBoss Portal] - Customizing the CMS and other curiosities
by frontline
I tried to "extend" the CMS api with my own commands, but it turns out that the authorization interceptor does only work with the built in commands. The class names etc. are hardcoded there and in ACLEnforcer.
Why even bother with the commands if users can't write their own? Or couldn't there be some interface that is used in the ACL-classes so that the specific class names wouldn't need to be known (like getPath() for getting the path instead of casting the commands to the concrete classes).
And another thing.
The GetFolderListCommand needs the READ permission but the contents (ie. the actual folder list for the parent folder passed as parameter) need the WRITE/MANAGE permission for the child nodes. Apparently this is also hardcoded in the acl-classes because the list command is used in the cms admin tool which of course only shows nodes that the user has WRITE permission to...
Is there a way to get the list so that the READ permission would be sufficient to get a folder and a list of its child folders?
And one more. Is there a plan to upgrade the jackrabbit version to a more current one? There are some nice features in the newer versions (hit highlighting for example).
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4100810#4100810
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4100810
17Â years, 2Â months
[JBoss Tools (users)] - Re: JBoss Tools Documentation
by max.andersenï¼ jboss.com
we removed the old jbide doc in latest build.
some updated docs will come out with GA, others (articles etc.) will follow later.
"Will there be tools to work with EJB3 entity beans (including reverse engineering a single table) in the context of a seam application"
What do you mean single table ?
EJB3 entity beans in general is just JPA and yes that is there and have been there for almost 1.5 years ;)
"(preferably seam 2.0 which seems to be almost out)?"
Nightly builds supports Seam 2.
"In looking around, I get the idea that there was an EJB3 tool in an earlier version which has been dropped. True/false?"
Depends ;) We had an ejb3 project type in the beta that was dropped since it conflicted with the rest of the eclipse world. The ejb3 wizards are still in there.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4100809#4100809
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4100809
17Â years, 2Â months
[JBoss Portal] - portal ldap problems
by frontline
I have configured the portal to use OpenDS as the "user store".
I noticed that if I log in as some other user than admin and then perform many CMS operations I eventually get an "java.net.SocketException: Too many open files" error.
Apparently the portal always opens a new connection when getting role info etc. for authorization? So there is no caching or even pooling of the ldap connections? Isn't this also potentially bad for performance (and for the poor ldap server)?
If I wait a while the connections become usable again so there is no connection leak (the sockets are in TIME_WAIT for a while).
Here is the error:
| java.net.SocketException: Too many open files
| java.net.Socket.createImpl(Socket.java:388)
| java.net.Socket.<init>(Socket.java:361)
| java.net.Socket.<init>(Socket.java:179)
| com.sun.jndi.ldap.Connection.createSocket(Connection.java:346)
| com.sun.jndi.ldap.Connection.<init>(Connection.java:181)
| com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:118)
| com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1578)
| com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2596)
| com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:283)
| com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)
| com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193)
| com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)
| com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)
| javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
| javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
| javax.naming.InitialContext.init(InitialContext.java:223)
| javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:134)
| org.jboss.portal.identity.ldap.LDAPConnectionContext.createInitialContext(LDAPConnectionContext.java:99)
| org.jboss.portal.identity.ldap.LDAPUserModuleImpl.searchUsers(LDAPUserModuleImpl.java:353)
| org.jboss.portal.identity.ldap.LDAPUserModuleImpl.findUserByUserName(LDAPUserModuleImpl.java:81)
| org.jboss.portal.cms.security.AuthorizationProviderImpl.findPermissionsByUser(AuthorizationProviderImpl.java:365)
| org.jboss.portal.cms.security.AuthorizationProviderImpl.getSecurityBindings(AuthorizationProviderImpl.java:147)
| org.jboss.portal.cms.impl.jcr.command.ACLEnforcer.getPermissions(ACLEnforcer.java:573)
| org.jboss.portal.cms.impl.jcr.command.ACLEnforcer.computeAccess(ACLEnforcer.java:330)
| org.jboss.portal.cms.impl.jcr.command.ACLEnforcer.hasReadAccess(ACLEnforcer.java:209)
| org.jboss.portal.cms.impl.jcr.command.ACLEnforcer.hasAccess(ACLEnforcer.java:120)
| org.jboss.portal.cms.security.AuthorizationManagerImpl.checkPermission(AuthorizationManagerImpl.java:127)
| org.jboss.portal.cms.impl.interceptors.ACLInterceptor.invoke(ACLInterceptor.java:238)
| org.jboss.portal.cms.CMSInterceptor.invoke(CMSInterceptor.java:36)
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4100804#4100804
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4100804
17Â years, 2Â months