[Security & JAAS/JBoss] - NPE in GenericPrincipal
by edgoquist
I'm trying implement SSO and I'm having some trouble. I've been dealing with most of it but now I've got this:
01:00:44,021 ERROR [JBossWebRealm] Error during authenticate
java.lang.NullPointerException
at java.util.Arrays.mergeSort(Arrays.java:1144)
at java.util.Arrays.mergeSort(Arrays.java:1155)
at java.util.Arrays.sort(Arrays.java:1079)
at org.apache.catalina.realm.GenericPrincipal.(GenericPrincipal.java:96)
at org.jboss.web.tomcat.security.JBossGenericPrincipal.(JBossGenericPrincipal.java:71)
at org.jboss.web.tomcat.security.JBossWebRealm.getCachingPrincipal(JBossWebRealm.java:675)
at org.jboss.web.tomcat.security.JBossWebRealm.authenticate(JBossWebRealm.java:409)
at org.jboss.web.tomcat.security.login.WebAuthentication.login(WebAuthentication.java:93)
... rest of trace truncated.
The GenericPrincipal code looks like this around line 96:
| 92 if (roles != null) {
| 93 this.roles = new String[roles.size()];
| 94 this.roles = (String[]) roles.toArray(this.roles);
| 95 if (this.roles.length > 0)
| 96 Arrays.sort(this.roles);
| 97 }
|
Does this mean that one of my Roles is null? Where are the roles coming from? There are 2 places where I can specify roles that I know of. One is in the LoginProvider that I wrote. The other is in sso-cfg.xml. The LoginProvider will return at least "Other" if no role exists for an otherwise authenticatable user.
I'm using UsernameAndPasswordLoginModule.
Can anyone help please? thanks.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4215104#4215104
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4215104
17 years, 3 months
[Installation, Configuration & DEPLOYMENT] - jboss tomcat issue ...?
by itlche
Hi All,
We have a test environment with 2 apaches and clustered 4 Jboss instances .
We have setup load balancing via modjk properties in apache box.
Our setup is like each apache is in separate box and 2 Jboss instances in separate box. [Totally 4 linux boxes]
During the peak load of users, we get lot of errors in modjk logs like as shown
|
|
| [Tue Feb 17 10:33:27 2009][22106:1241577824] [error] ajp_send_request::jk_ajp_common.c (1359): (snode4) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=110)
|
|
I felt this may be due to insufficient threads dedicated to tomcat container to process the requests from apache modjk to tomcat. But I am not sure whether this is correct or not.
Please let me know if any one have encountered such errors ?
Configuration details below:
|
|
| ModJK Properties: [Apache]
|
|
|
|
|
|
|
| worker.list=lb,slb,status
|
|
|
| worker.node1.port=8009
|
| worker.node1.host=lm014
|
| worker.node1.type=ajp13
|
| worker.node1.lbfactor=1
|
| worker.node1.connect_timeout=10000
|
| worker.node1.prepost_timeout=10000
|
| worker.node1.socket_timeout=10
|
| worker.node1.connection_pool_timeout=600
|
| # worker.node1.connection_pool_size=10 (1)
|
| worker.node1.domain=snode1
|
|
|
| worker.node2.reference=worker.node1
|
| worker.node2.host=lm014
|
| worker.node2.domain=snode2
|
|
|
| worker.node3.reference=worker.node1
|
| worker.node3.host=lm015
|
| worker.node3.domain=snode3
|
|
|
| worker.node4.reference=worker.node1
|
| worker.node4.host=lm015
|
| worker.node4.domain=snode4
|
|
|
| # Load-balancing behaviour
|
| worker.lb.type=lb
|
| worker.lb.balance_workers=node1,node2,node3,node4
|
| worker.lb.sticky_session=1
|
| # worker.lb.sticky_session_force=1
|
|
|
|
|
| worker.snode1.reference=worker.node1
|
| worker.snode1.host= lm014
|
| worker.snode1.port=8010
|
|
|
| worker.snode2.reference=worker.snode1
|
| worker.snode2.host= lm014
|
|
|
| worker.snode3.reference=worker.snode1
|
| worker.snode3.host=lm015
|
|
|
| worker.snode4.reference=worker.snode1
|
| worker.snode4.host= lm015
|
|
|
| # Load-balancing behaviour
|
| worker.slb.type=lb
|
| worker.slb.balance_workers=snode1,snode2,snode3,snode4
|
| worker.slb.sticky_session=1
|
| # worker.slb.sticky_session_force=1
|
|
|
| worker.status.type=status
|
|
|
|
|
Server.xml [JBOSS Server]
|
| <Connector port="8080" address="${jboss.bind.address}"
|
| maxThreads="250" maxHttpHeaderSize="8192"
|
| emptySessionPath="true" protocol="HTTP/1.1"
|
| enableLookups="false" redirectPort="8443" acceptCount="100"
|
| connectionTimeout="20000" disableUploadTimeout="true" />
|
|
|
| <!-- Define an AJP 1.3 Connector on port 8009 -->
|
| <Connector port="8009" address="${jboss.bind.address}" protocol="AJP/1.3"
|
| emptySessionPath="true" enableLookups="false" redirectPort="443"
|
| scheme="http" secure="false" useIPVHosts="true" proxyPort="80" connectionTimeout="600000" />
|
|
|
| <!-- Define an AJP 1.3 Connector on port 8010 -->
|
| <Connector port="8010" address="${jboss.bind.address}" protocol="AJP/1.3"
|
| emptySessionPath="true" enableLookups="false" redirectPort="80"
|
| scheme="https" secure="true" useIPVHosts="true" proxyPort="443" connectionTimeout="600000" />
|
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4215101#4215101
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4215101
17 years, 3 months
[Beginners Corner] - Re: Portlets mit Eclipse erstellen
by PeterJ
You should be able to create a Dynamic Web Application project and then add a Portlet facet to it and then create portlets.
But if you are new to portlets, I recommend not using the Portlet facet and instead creating the portlet class and the configuration files manually. This way you learn more about how to create a portlet WAR file and what it requires. After you are comfortable with that, then you can start using the Portlet Facet.
I recommend doing it this way because when you are first learning a new technology you do not want to be fighting with the IDE. If you do everything by hand, then you have only yourself and your understanding to blame. If you are using a IDE to do things for you automatically, if things go wrong, you never know if it was your lack of understanding or issues with the IDE that caused the problem. Anyway, that is my two pfennings.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4215098#4215098
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4215098
17 years, 3 months
Configuration advice - different databases
by Chris Idou
I wonder if anyone can give me a pointer or advice.
We've got an application and we run 3 instances of it under different server/ directories in our JBoss installation. Each instance's datasource.xml points to a different database. One is a production database, and the others are testing database. Each has its own IP address.
We want to be able to run instances against even more databases without allocating more IP addresses, but I'm not sure how one would go about it. Various files in the application like ejb-jar.xml and so forth point to a jdbc name that identifies the datasource, so I'm not sure how one would have more than one datasource and dynamically choose the database when it is kind of hard-coded in this config file. (without I guess, modifying the app for each instance, which isn't desirable).
Even if we could choose datasources dynamically, I'm not sure how the remote client would say which instance of the corresponding EJBs to talk to. At the moment each app has a config parameter which points to http://x.x.x.x/invoker/JNDIFactory, and depending which x.x.x.x they choose, it selects which database and JBoss instance to talk to.
At the moment its really easy to set up new instances IF one is prepared to allocate a new IP address. Is there any easy way (or any way at all) to do it without new IP addresses?
Stay connected to the people that matter most with a smarter inbox. Take a look http://au.docs.yahoo.com/mail/smarterinbox
17 years, 3 months