"Caroline Jen" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
Tim:
Before I posted my questions regarding the problem that I encountered, I have gone through
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/realm-howto.html#Configuring%20a%20Realm
As long as I have the JDBCRealm in the server.xml, the Tomcat does not accept <security-constraint> specified in the application's web.xml file. And the Tomcat cannot find my application.
Following your advice, I moved the Realm declaration outside of the <Context> declaration into the <Host> declaration, and my problem is solved.
Nonetheles, you also said "refine the <Realm> in each context where it is needed." I really want the JDBCRealm applies to my application only. My question is how do I do it?
If what is below is accurate, then your <Context> is configured wrong. It needs to be: <Context path="/myapp" docBase="myapp"> <Realm className="org.apache.catalina.realm.JDBCRealm" ..... /> </Context>
You should probably also leave e.g. the UserDatabaseRealm configured under the <Host>, so that other Contexts (i.e. admin & manager) have a Realm to use. By configuring your own Realm under your <Context>, it will override the one defined in the <Host>.
As long as you configure a 'manager' role for the superuser in your realm, then the superuser can happily login to & use admin & manager - if that fits in with the security requirements of course. That's what I do. But then I am project manager, chief developer, webmaster and DBA for my current project (I should say that more often, it makes Monday mornings great! Just don't tell anyone I'm working for myself :) ).
Currently, my JDBCRealm looks like:http://jakarta.apache.org/tomcat/tomcat-4.1-doc/realm-howto.html#Configuring%20a%20Realm
<Engine> <Host> <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99" driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/artimus? user=javauser&password=javadude" userTable="members" userNameCol="user_name" userCredCol="user_password" userRoleTable="user_roles" roleNameCol="user_role"/>
<Context> ................. </Context> </Host> </Engine>
--Caroline
My configuration in the $TOMCAT_HOME/conf/sever.xml is shown below:
<Engine> <Host> <Context> <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99" driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/artimus user=javauser&password=javadude" userTable="members" userNameCol="user_name" userCredCol="user_password" userRoleTable="user_roles" roleNameCol="user_role"/> </Context> </Host> </Engine>
--- Tim Funk <[EMAIL PROTECTED]> wrote:
-Tim
Caroline Jen wrote:
Tim:
Would you explain "refine the <Realm> in each context where it is needed"?
-Caroline --- Tim Funk <[EMAIL PROTECTED]> wrote:
Move the Realm declaration outside of the
<Context>
declaration into the <Host> declaration. Or refine the <Realm> in each context where it is needed.
-Tim
Caroline Jen wrote:
My applications behave wierd after I configured
the
JDBCRealm. After experimenting in many different ways, I found that as long as I have the
JDBCRealm
in
the server.xml, the Tomcat does not accept <security-constraint> specified in the
application's
web.xml file. Please help me.
My configuration in the
$TOMCAT_HOME/conf/sever.xml is
shown below:
<Engine> <Host> <Context> <Realm
className="org.apache.catalina.realm.JDBCRealm"
debug="99" driverName="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/artimus
user=javauser&password=javadude" userTable="members" userNameCol="user_name" userCredCol="user_password" userRoleTable="user_roles"
roleNameCol="user_role"/>
</Context> </Host> </Engine>
-- struts 1.1 + tomcat 5.0.12 + java 1.4.2 Linux 2.4.20 RH9
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]