QA@IT
«回答へ戻る

5619
 
 ただこの状態でサーバーが起動できているのが疑問なんですが、正しいServer.xml直してますか?
 たとえばeclipseで起動しているのにローカルの他箇所のTomcatの設定変更していたりしてませんか?
+
+----
+
+参考までに載せておきます。コメントは削除しています。
+
+* eclipse pleiades 4.3 ultimate
+* Tomcat 7
+   (pleiades 付属のxamppのもの。ただし server.xmlとtomcat-users.xmlはeclipseプロジェクトのServers(Basic認証に関する部分は修正)配下のもの)
+
+なお`<Realm className="org.apache.catalina.realm.LockOutRealm">〜</Realm>`はたしか元からあったので足していない。
+
+server.xml
+```xml
+<?xml version="1.0" encoding="UTF-8"?>
+<Server port="8005" shutdown="SHUTDOWN">
+  <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
+  <Listener className="org.apache.catalina.core.JasperListener"/>
+  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
+  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
+  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
+
+  <GlobalNamingResources>
+    <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
+  </GlobalNamingResources>
+
+  <Service name="Catalina">
+    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
+    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
+    <Engine defaultHost="localhost" name="Catalina">
+      <Realm className="org.apache.catalina.realm.LockOutRealm">
+        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
+      </Realm>
+
+      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
+        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>
+      <Context docBase="QaitStruts3381" path="/QaitStruts3381" reloadable="true" source="org.eclipse.jst.jee.server:QaitStruts3381"/></Host>
+
+<Resource name="UserDatabase"
+    auth="Container" type="org.apache.catalina.UserDatabase"
+    description="User database that can be updated and saved" />
+
+<ResourceParams name="UserDatabase">
+  <parameter>
+    <name>factory</name>
+    <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
+  </parameter>
+  <parameter>
+    <name>pathname</name>
+    <value>conf/tomcat-users.xml</value>
+  </parameter>
+</ResourceParams>
+
+    </Engine>
+  </Service>
+</Server>
+```
+
+---
+
+tomcat-users.xml
+```xml
+<?xml version="1.0" encoding="UTF-8"?>
+<tomcat-users>
+  <role rolename="basic" />
+  <user username="qait" password="qait" roles="basic"/>"
+</tomcat-users>
+```
+
+---
+
+web.xml
+```xml
+〜前半省略〜
+
+<security-constraint>
+    <web-resource-collection>
+        <web-resource-name>Authentication of BasicAuth</web-resource-name>
+        <url-pattern>/*</url-pattern>
+    </web-resource-collection>
+    <auth-constraint>
+        <role-name>basic</role-name>
+    </auth-constraint>
+</security-constraint>
+<login-config>
+    <auth-method>BASIC</auth-method>
+    <realm-name>UserDatabaseRealm</realm-name>
+</login-config>
+<security-role>
+    <role-name>basic</role-name>
+</security-role>
+</web-app>
+```
+

Server.xmlで

<ResourceParams name="UserDatabase>

にダブルクォートが不足しているようです。

ただこの状態でサーバーが起動できているのが疑問なんですが、正しいServer.xml直してますか?
たとえばeclipseで起動しているのにローカルの他箇所のTomcatの設定変更していたりしてませんか?


参考までに載せておきます。コメントは削除しています。

  • eclipse pleiades 4.3 ultimate
  • Tomcat 7 (pleiades 付属のxamppのもの。ただし server.xmlとtomcat-users.xmlはeclipseプロジェクトのServers(Basic認証に関する部分は修正)配下のもの)

なお<Realm className="org.apache.catalina.realm.LockOutRealm">〜</Realm>はたしか元からあったので足していない。

server.xml

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
  <Listener className="org.apache.catalina.core.JasperListener"/>
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>

  <GlobalNamingResources>
    <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
  </GlobalNamingResources>

  <Service name="Catalina">
    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
    <Engine defaultHost="localhost" name="Catalina">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>

      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>
      <Context docBase="QaitStruts3381" path="/QaitStruts3381" reloadable="true" source="org.eclipse.jst.jee.server:QaitStruts3381"/></Host>

<Resource name="UserDatabase"
    auth="Container" type="org.apache.catalina.UserDatabase"
    description="User database that can be updated and saved" />

<ResourceParams name="UserDatabase">
  <parameter>
    <name>factory</name>
    <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
  </parameter>
  <parameter>
    <name>pathname</name>
    <value>conf/tomcat-users.xml</value>
  </parameter>
</ResourceParams>

    </Engine>
  </Service>
</Server>

tomcat-users.xml

<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users>
  <role rolename="basic" />
  <user username="qait" password="qait" roles="basic"/>"
</tomcat-users>

web.xml

〜前半省略〜

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Authentication of BasicAuth</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>basic</role-name>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>UserDatabaseRealm</realm-name>
</login-config>
<security-role>
    <role-name>basic</role-name>
</security-role>
</web-app>
Server.xmlで

```xml
<ResourceParams name="UserDatabase>
```

にダブルクォートが不足しているようです。

ただこの状態でサーバーが起動できているのが疑問なんですが、正しいServer.xml直してますか?
たとえばeclipseで起動しているのにローカルの他箇所のTomcatの設定変更していたりしてませんか?

----

参考までに載せておきます。コメントは削除しています。

* eclipse pleiades 4.3 ultimate
* Tomcat 7
   (pleiades 付属のxamppのもの。ただし server.xmlとtomcat-users.xmlはeclipseプロジェクトのServers(Basic認証に関する部分は修正)配下のもの)

なお`<Realm className="org.apache.catalina.realm.LockOutRealm">〜</Realm>`はたしか元からあったので足していない。

server.xml
```xml
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
  <Listener className="org.apache.catalina.core.JasperListener"/>
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>

  <GlobalNamingResources>
    <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
  </GlobalNamingResources>

  <Service name="Catalina">
    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
    <Engine defaultHost="localhost" name="Catalina">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>

      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>
      <Context docBase="QaitStruts3381" path="/QaitStruts3381" reloadable="true" source="org.eclipse.jst.jee.server:QaitStruts3381"/></Host>

<Resource name="UserDatabase"
    auth="Container" type="org.apache.catalina.UserDatabase"
    description="User database that can be updated and saved" />

<ResourceParams name="UserDatabase">
  <parameter>
    <name>factory</name>
    <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
  </parameter>
  <parameter>
    <name>pathname</name>
    <value>conf/tomcat-users.xml</value>
  </parameter>
</ResourceParams>

    </Engine>
  </Service>
</Server>
```

---

tomcat-users.xml
```xml
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users>
  <role rolename="basic" />
  <user username="qait" password="qait" roles="basic"/>"
</tomcat-users>
```

---

web.xml
```xml
〜前半省略〜

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Authentication of BasicAuth</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>basic</role-name>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>UserDatabaseRealm</realm-name>
</login-config>
<security-role>
    <role-name>basic</role-name>
</security-role>
</web-app>
```

5619
 ```
 
 にダブルクォートが不足しているようです。
+
+ただこの状態でサーバーが起動できているのが疑問なんですが、正しいServer.xml直してますか?
+たとえばeclipseで起動しているのにローカルの他箇所のTomcatの設定変更していたりしてませんか?

Server.xmlで

<ResourceParams name="UserDatabase>

にダブルクォートが不足しているようです。

ただこの状態でサーバーが起動できているのが疑問なんですが、正しいServer.xml直してますか?
たとえばeclipseで起動しているのにローカルの他箇所のTomcatの設定変更していたりしてませんか?

Server.xmlで

```xml
<ResourceParams name="UserDatabase>
```

にダブルクォートが不足しているようです。

ただこの状態でサーバーが起動できているのが疑問なんですが、正しいServer.xml直してますか?
たとえばeclipseで起動しているのにローカルの他箇所のTomcatの設定変更していたりしてませんか?

回答を投稿

Server.xmlで

<ResourceParams name="UserDatabase>

にダブルクォートが不足しているようです。

Server.xmlで

```xml
<ResourceParams name="UserDatabase>
```

にダブルクォートが不足しているようです。