It is specified there -- but I don't have a server.xml file set up.  Since
I'm using the embedded version, I set up the tomcat on the fly and just have
the java code start it.

I looked at the server.xml file that comes with the standard tomcat
installation, and I see the the UserDatabaseRealm portion.  Can I put that
into the web.xml file?  Or is there a way for me to enter that into the
embedded module?

I'm not sure on what to do here.  Right now it "works", but I'm trying to
get it so that I can have 2 different users and have them see 2 different
web apps.  I don't often do sys admin/configuration stuff, I'd rather be
coding (but I'm waiting for other people to finish up their portions, so I'm
adding in other niceties that I can get done before I can move on to the
next big part.)

I appreciate your help!

Thanks!

-- Chris


On Fri, Jan 7, 2011 at 5:43 PM, Pid <p...@pidster.com> wrote:

> On 1/7/11 9:07 PM, Christopher Gross wrote:
> > OK, so I'd need to add a Realm for the UserDatabaseRealm in either of the
> > spots you listed.  I'll probably use the file, so that I can adjust it if
> > need be.
> >
> > Where do I put the tomcat-users.xml file, so that the Realm has
> > users/passwords?  Is there a way for me to tell the Embedded object where
> it
> > is, or will it look in a certain spot by default?
>
> The file location is specified in a property of the Realm, no?
>
>
> p
>
> > Thanks!
> >
> > -- Chris
> >
> >
> > On Fri, Jan 7, 2011 at 3:55 PM, Pid <p...@pidster.com> wrote:
> >
> >> On 1/7/11 6:59 PM, Christopher Gross wrote:
> >>> I've been looking around, but I can't seem to find somewhere that shows
> >> how
> >>> you can configure Tomcat when you embed it into an application.
> >>>
> >>> My code is like this:
> >>>
> >>> public void start() throws Exception {
> >>>    String hostname = System.getProperty("hostname");
> >>>    int port = Integer.parseInt(System.getProperty("port"));
> >>>    String path = System.getProperty("path");
> >>>    Embedded embedded = new Embedded();
> >>>    Engine engine = embedded.createEngine();
> >>>    engine.setName("Monitor");
> >>>    engine.setHostname(hostname);
> >>>    Host host = embedded.createHost(hostname, path);
> >>>    engine.addChild(host);
> >>>    Context sp = embedded.createContext("/Monitor", path +
> >>> "/webapps/monitor");
> >>>    host.addChild(sp);
> >>>    embedded.addEngine(engine);
> >>>    InetAddress addr = null;
> >>>    Connector connector = embedded.createConnector(addr, port, false);
> >>>    embedded.addConnector(connector);
> >>>    embedded.setName("WebServerThread");
> >>>    embedded.start();
> >>> }
> >>>
> >>> It works fine as it is now, but I'd like to use Tomcat to authenticate
> >>> users.  I'll make a separate app for basic users to use to just view a
> >> page,
> >>> but give admins access to a more advanced page (the pages that I have
> >> now).
> >>>  Should I be using a different module?  Is there a spot where the
> >> embedded
> >>> Tomcat will look by default?
> >>
> >> Container managed authentication & authorization is dependent on config
> >> in web.xml, part of the application.
> >>
> >> Tomcat needs a Realm against which users are configured.  Add a Realm to
> >> the webapp/META-INF/context.xml or as a child of the Host.
> >>
> >>
> >> p
> >>
> >>> Any tips would be greatly appreciated.
> >>>
> >>> Thanks!
> >>>
> >>> -- Chris
> >>>
> >>
> >>
> >
>
>

Reply via email to