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 > >>> > >> > >> > > > >