tomcat 中的 tomcat-users.xml 配置不生效原因 + tomcat8以上管理頁面提示403問題解決方案
阿新 • • 發佈:2019-02-17
首先確定在conf目錄下的server.xml檔案有
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<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>
<role rolename="admin"/>
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<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>
這樣一段程式碼,讓tomcat啟動服務後能載入到conf/tomcat-users.xml,這個檔案。
user配置
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui,admin-gui"/>
修改了配置檔案需要重新啟動伺服器,好讓伺服器重新載入修改後的配置檔案。
tomcat8以上管理頁面提示403問題
修改conf/tomcat-users.xml
<role rolename="manager"/>
<role rolename="manager-gui"/><role rolename="admin"/>
<user username="user" password="password" roles="admin,manager,manager-gui"/>
同時還需要修改,如無新建conf/Catalina/localhost/manager.xml 內容如下:
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
無須重啟tomcat即可生效。