All works fine now - cheers :o)
On Tue, 08 Feb 2005 21:55:03 -0500, Erik Weber <[EMAIL PROTECTED]> wrote: > JDBC driver jar files belong in $TOMCAT_HOME/common/lib (I think that's > what you are asking). > > Erik > > > Tim Christopher wrote: > > >Turned out that the database driver could not be found, which resulted > >in the same error that I was being given by the Container when it > >tried to connect for the JDBCRealm. > > > >Adding the file to the WEB-INF/lib folder allows a connection to be > >made from a JSP, however Tomcat still gives the same error as before - > >does adding the jar to WEB-INF/lib give the container access to the > >class files stored in it?! > > > >The contents of the server.xml file (which does not work correctly) is: > > <Realm className="org.apache.catalina.realm.JDBCRealm" > > debug="99" > > driverName="com.borland.datastore.jdbc.DataStoreDriver" > > connectionURL="jdbc:borland:dslocal:C:\\Documents > >and Settings\\SIS_Db.jds" > > connectionName="sysdba" > > connectionPassword="masterkey" > > userTable="users" > > userNameCol="user_name" > > userCredCol="user_pass" > > userRoleTable="user_roles" > > roleNameCol="role_name" /> > > > > > > > > > >For anyone with a similar problem the driver (DataStoreDriver) can be > >found in <JBuilder>\lib\jdsserver.jar. The code I added to the top of > >the JSP to test the database connection is below: > > > ><% > > > >try { > > Class.forName("com.borland.datastore.jdbc.DataStoreDriver"); > >} > >catch (Exception e) { > > System.out.println("Driver Error\n" + e); > >} > > > >try { > > String username = "sysdba"; > > String password = "masterkey"; > > String db_url = "jdbc:borland:dslocal:"; > > String db_file = "C:\\Documents and Settings\\SIS_Db.jds"; > > java.sql.Connection > >connection=java.sql.DriverManager.getConnection(db_url + db_file, > >username, password); > > > > java.sql.ResultSet > >rs=connection.createStatement().executeQuery("SELECT * FROM users"); > > System.out.println("Column count is: " + rs.getMetaData().getColumnCount()); > >} > >catch (Exception e) { > > System.out.println("Error\n" + e); > >} > > > >%> > > > > > >On Tue, 8 Feb 2005 20:17:49 -0500, David G. Friedman > ><[EMAIL PROTECTED]> wrote: > > > > > >>Tim, > >> > >>Have you tried using any command line tools to get to your datastore? > >>Knowing that could rule out permissions issues on the database site as well > >>as the connection host/port/URL. > >> > >>Regards, > >>David > >> > >>-----Original Message----- > >>From: Tim Christopher [mailto:[EMAIL PROTECTED] > >>Sent: Tuesday, February 08, 2005 5:45 PM > >>To: Struts Users Mailing List > >>Subject: Re: Application Security > >> > >>I managed to solve the first error by reordering the elements within > >>the server.xml file, however I'm now stuck with the following error > >>(which occurs when the server is started): > >> > >>JDBCRealm[Catalina]: Exception opening database connection > >>java.sql.SQLException: com.borland.datastore.jdbc.DataStoreDriver > >> at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:589) > >> at org.apache.catalina.realm.JDBCRealm.start(JDBCRealm.java:663) > >> <snip/> > >> > >>Does anyone know if this is a problem with the database driver, or the > >>location of the database? I've tried changing the URL to a path that > >>doesn't exist and I still get the same error, however I'm confident > >>that the connectionURL is correct as it connects perfectly when using > >>the same information within JBuilder's database pilot. > >> > >>Any suggestions would be appreciated. :o) > >> > >>Tim > >> > >>On Tue, 8 Feb 2005 12:07:16 -0500, David G. Friedman > >><[EMAIL PROTECTED]> wrote: > >> > >> > >>>Tim, > >>> > >>>Have you also updated your web.xml and Tomcat conifgurations? > >>> > >>>-----Original Message----- > >>>From: Tim Christopher [mailto:[EMAIL PROTECTED] > >>>Sent: Tuesday, February 08, 2005 12:05 PM > >>>To: Struts Users Mailing List > >>>Subject: Re: Application Security > >>> > >>>Cheers for all your advice. > >>> > >>>I've just tried implementing the JDBCRealm, though unfortunaltly it > >>>does not work. The Log4j error file contains the following: > >>> > >>>http-80-Processor25 ERROR org.apache.catalina.realm.JAASRealm > >>>JAASRealm.java:269 Unexpected error > >>>java.lang.SecurityException: Unable to locate a login configuration > >>> at com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:97) > >>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > >>>Method) > >>> <snip/> > >>> > >>>To be honest, I'm not really sure what that means... All I've done so > >>>far is copy a simple example and I've got that error. Do I need to > >>>add anything to the classpath? > >>> > >>>I can post the code I'm using if anything thinks that will help.... > >>> > >>>On Tue, 8 Feb 2005 03:06:51 -0000, Niall Pemberton > >>><[EMAIL PROTECTED]> wrote: > >>> > >>> > >>>>The forms for container managed security don't have to be plain html - > >>>> > >>>> > >>you > >> > >> > >>>>can configure in the web.xml custom "Logon" and "Logon Error" pages > >>>> > >>>> > >>which > >> > >> > >>>>can be jsps, not just plain html. I have a custom tag on each of these > >>>> > >>>> > >>>pages > >>> > >>> > >>>>which writes the fact that a user has arrived at that page to log4j > >>>> > >>>> > >>along > >> > >> > >>>>with details from the request (e.g. IP address). Log4j is pretty > >>>> > >>>> > >>powerful > >> > >> > >>>in > >>> > >>> > >>>>how you can configure it to filter that info and where to send it to. > >>>> > >>>>There are tags in the Jakarta Taglibs which you could use to achieve the > >>>>same thing... > >>>> http://jakarta.apache.org/taglibs/doc/log-doc/intro.html > >>>> http://jakarta.apache.org/taglibs/doc/request-doc/intro.html > >>>> > >>>>For example on your "Logon Error Page", you might have something like > >>>>this... > >>>> > >>>><req:request id="req"/> > >>>><log:error category="myapp.logon.failed"> > >>>> <bean:write name="req" property="remoteAddr"/> > >>>> <bean:write name="req" property="remoteHost"/> > >>>></log:error> > >>>> > >>>>Once a user has "logged on", you can get the user name from from the > >>>> > >>>> > >>>request > >>> > >>> > >>>>and then look up the user details wherever they are stored... > >>>> request.getUserPrincipal().getName() > >>>> > >>>>The actual form elements required are, as you say, plain html - but is > >>>> > >>>> > >>>there > >>> > >>> > >>>>any need for special tags since the action your posting to is fixed? > >>>> > >>>>Niall > >>>> > >>>>----- Original Message ----- > >>>>From: "Tim Christopher" <[EMAIL PROTECTED]> > >>>>Sent: Tuesday, February 08, 2005 2:08 AM > >>>> > >>>> > >>>> > >>>>>I've recently discovered that it is not possible to map an action to > >>>>>j_security_check. Given this situation how is it possible to populate > >>>>>a form bean with user data, or create a log of any failed login > >>>>>attempts (bad username / password) if the container takes control of > >>>>>the entire login process? > >>>>> > >>>>>Looking back at previous posts to the newsgroup I can see that in the > >>>>>past people have just used plain html to produce the j_security_check > >>>>>form. Is it possible to do this using the <sslext:form> tag, but so > >>>>>that it does not require a Struts action mapping for j_security_check > >>>>>to be present? > >>>>> > >>>>>I was currently intending on using JDBCRealm and the security-filter > >>>>>to control the site's security, though given the above problems I'm > >>>>>starting to think there might be a better way? Or are these problems > >>>>>everyone has already solved, as surely some form of login system is > >>>>>present in the vast majority of Struts applications. > >>>>> > >>>>> > >>>>--------------------------------------------------------------------- > >>>>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>>For additional commands, e-mail: [EMAIL PROTECTED] > >>>> > >>>> > >>>> > >>>> > >>>--------------------------------------------------------------------- > >>>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >>> > >>> > >>--------------------------------------------------------------------- > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > >> > >> > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]