2017-11-25 32 views
6

मैं जंगली उड़ान पर डेमो वेब एप्लिकेशन सुरक्षित करने की कोशिश कर रहा हूं। मैं वेब inf के तहत standalone.xml में इस सुरक्षा डोमेन को परिभाषित किया हैवाइल्डफ्लाई सुरक्षा प्रतिबंध अनदेखा

<security-domains> 
       <security-domain name="projects" cache-type="default"> 
        <authentication> 
         <login-module code="Database" flag="required"> 
          <module-option name="dsJndiName" value="java:jboss/datasources/TestDS"/> 
          <module-option name="rolesQuery" value="SELECT role, 'Roles' FROM users WHERE username=?"/> 
          <module-option name="hashAlgorithm" value="MD5"/> 
          <module-option name="hashEncoding" value="hex"/> 
          <module-option name="principalsQuery" value="SELECT password from users WHERE username=?"/> 
         </login-module> 
        </authentication> 
        <authorization> 
         <policy-module code="Database" flag="required"> 
          <module-option name="dsJndiName" value="java:jboss/datasources/school"/> 
          <module-option name="rolesQuery" value="SELECT role, 'Roles' FROM users WHERE username=?"/> 
          <module-option name="hashAlgorithm" value="MD5"/> 
          <module-option name="hashEncoding" value="hex"/> 
          <module-option name="principalsQuery" value="SELECT password from users WHERE username=?"/> 
         </policy-module> 
        </authorization> 
       </security-domain> 

तो मैं jboss- में इस सामग्री web.xml

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> 

    <security-constraint> 
    <web-resource-collection> 
     <web-resource-name>projects</web-resource-name> 
     <url-pattern>/twp/projects/*</url-pattern> 
     <http-method>POST</http-method> 
     <http-method>GET</http-method> 
     <http-method>PUT</http-method> 
     <http-method>DELETE</http-method> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>ADMINISTRATOR</role-name> 
    </auth-constraint> 
    </security-constraint> 

    <login-config> 
    <auth-method>FORM</auth-method> 
    <realm-name>projects</realm-name> 
    <form-login-config> 
     <form-login-page>/login.xhtml</form-login-page> 
     <form-error-page>/error.xhtml</form-error-page> 
    </form-login-config> 
    </login-config> 
    <security-role> 
    <role-name>ADMINISTRATOR</role-name> 
    </security-role> 
    <security-role> 
    <role-name>USER</role-name> 
    </security-role> 
</web-app> 

में इस सुरक्षा costraints परिभाषित और है web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-web> 
    <security-domain>java:/jaas/projects</security-domain> 

</jboss-web> 

समस्या यह है कि अगर मैं/परियोजनाओं URL पर जाने मैं प्रवेश पृष्ठ पर रीडायरेक्ट नहीं हूँ के रूप में अगर बाधा को नजरअंदाज कर दिया गया था।

+0

आपने '/ twp/परियोजनाओं/*' '' 'परियोजनाओं को सुरक्षित नहीं किया है ... –

+0

मैंने कोशिश की लेकिन यह भी काम नहीं करता है – Sindico

उत्तर

9

आपकी कॉन्फ़िगरेशन के साथ, यह ठीक काम करता है। कंसोल पर आप इस दो पंक्तियों ?:

WARN [io.undertow.servlet] (ServerService Thread Pool -- 7) UT015020: Path /twp/projects/* is secured for some HTTP methods, however it is not secured for [TRACE, HEAD, CONNECT, OPTIONS] 
INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 7) WFLYUT0021: Registered web context: '/test-1.0-SNAPSHOT' for server 'default-server' 

आप की standalone.xml में corrent वर्गों के लिए आपके विन्यास जगह चाहिए, तो नहीं मिलता है wildfly

पहले मतलब यह है कि पथ सुरक्षित और है दूसरा आपको resक्षित वेब संदर्भ बताता है।

http://localhost:8080/test-1.0-SNAPSHOT/twp/projects के तहत प्रत्येक यूआरएल सुरक्षित और लॉगिन पृष्ठ पर रीडायरेक्ट किया जाएगा।

उदाहरण के लिए

http://localhost:8080/test-1.0-SNAPSHOT/twp/projects/all

नहीं बल्कि

http://localhost:8080/test-1.0-SNAPSHOT/twp/all

मैं कलश के साथ wildfly 11 का उपयोग करें: jboss: डोमेन: सुरक्षा: 2.0 और नहीं elytron।

संबंधित मुद्दे