2017-08-08 65 views
0

我有一個應用程序在java中,我最近已遷移到亞馬遜AWS Beanstalk與tomcat7和MySQL數據庫(RDS)。亞馬遜豆莖tomcat基本認證

我要納入基本Tomcat的認證,我已經下WEB_INF創建下列文件:

的web.xml

<security-constraint> 
    <display-name>UserConstraint</display-name> 
    <web-resource-collection> 
     <web-resource-name>UserConstraint</web-resource-name> 
     <description/> 
     <url-pattern>/text.txt</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <description/> 
     <role-name>authz-user</role-name> 
    </auth-constraint> 
</security-constraint> 
<login-config> 
    <auth-method>BASIC</auth-method> 
    <realm-name>file</realm-name> 
</login-config> 
<security-role> 
    <description>Application user role</description> 
    <role-name>authz-user</role-name> 
</security-role> 

users.xml中

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

WEB-INF/.ebextensions/context.xml

<?xml version='1.0' encoding='utf-8'?> 
<Context antiJARLocking="true" path="/APPNAME> 
    <WatchedResource>WEB-INF/users.xml</WatchedResource> 
</Context> 

我得到登錄請求,但不接受用戶/密碼。我是從不同的渠道得到的,所以我不確定在這種環境下應該如何做。我怎樣才能讓用戶被接受?是另一種創建用戶的方式嗎?

回答

0

發現了幾個錯誤:

.ebextensions文件夾必須在Web應用程序的根目錄。

此文件夾中的服務器update.config文件必須包含:

container_commands: 
    replace-config: 
    command: "cp .ebextensions/tomcat-users.xml /usr/share/tomcat7/conf/tomcat-users.xml" 

users.xml中更名爲的tomcat-users.xml中。

現在,它的工作。