- - PR -
WTPを使った際にtomcat-users.xmlのユーザで認証できない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-08-31 11:21
お世話になります。
以下の環境でJ2EEアプリの開発をしているのですが、tomcat-users.xmlに記述されているユーザで認証ができず、困っております。何が問題となっているか、ご教示頂けないでしょうか。 Windows XP SP2 JDK 1.5.0_16 Tomcat 5.5.26 Eclipse 3.3.1 WTPプラグイン 1.1.102.v200709122200 Webアプリのweb.xmlには以下のように記載しました。 <security-constraint> <web-resource-collection> <web-resource-name>required attribute</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>role1</role-name> </auth-constraint> </security-constraint> <security-role> <role-name>role1</role-name> </security-role> <login-config> <auth-method>BASIC</auth-method> </login-config> tomcat-users.xmlは次の通りです。 <?xml version="1.0" encoding="UTF-8"?> <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager"/> <role rolename="admin"/> <user password="tomcat" roles="tomcat" username="tomcat"/> <user password="tomcat" roles="tomcat,role1" username="both"/> <user password="tomcat" roles="role1" username="role1"/> <user password="hoge" roles="role1" username="hoge"/> <user password="manager" roles="admin,manager" username="admin"/> </tomcat-users> Tomcatを起動し、認証ダイアログが出るまでは確認できておりますが、 ユーザ名にrole1、パスワードにtomcatと入力しても401となってしまいます。 ここでなぜ認証されないのかが分かっておりません。 コンソールには以下のエラーが出ております。 2008/08/31 11:12:37 org.apache.catalina.realm.JAASRealm authenticate SEVERE: 予測しないエラーです java.lang.SecurityException: ログイン構成を検出できません。 at com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:97) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:494) at java.lang.Class.newInstance0(Class.java:350) at java.lang.Class.newInstance(Class.java:303) at javax.security.auth.login.Configuration$3.run(Configuration.java:216) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.Configuration.getConfiguration(Configuration.java:210) at javax.security.auth.login.LoginContext$1.run(LoginContext.java:237) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.init(LoginContext.java:234) at javax.security.auth.login.LoginContext.<init>(LoginContext.java:403) at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:348) at org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:181) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595) Caused by: java.io.IOException: ログイン構成を検出できません。 at com.sun.security.auth.login.ConfigFile.init(ConfigFile.java:206) at com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:95) ... 26 more なお、WTPを使わず、作成したWARファイルをTomcatのwebappsフォルダにデプロイした際は、conf/tomcat-users.xmlが使われて正常に認証できることを確認しております。 WTPを使う際はServersの各Serverにあるtomcat-users.xmlを見ているのだと思っていたのですが、違うのでしょうか?それとも何か設定が足りていないのでしょうか?デフォルトで記載されているrole1ユーザでも認証されないため、混乱しております。。 |
1