2012-06-14 12 views
10

Sto tentando di eseguire un'applicazione Java EE su weblogic. L'applicazione funziona perfettamente su Tomcat. Ho personalizzato il file war per includere weblogic.xml. Questo file include il seguente codice: -Errore Weblogic 403 - Proibito

<container-descriptor> 
    <show-archived-real-path-enabled>true</show-archived-real-path-enabled> 
</container-descriptor> 

ho anche cambiato la configurazione nelle proprietà del file dell'applicazione in modo da riflettere la porta su cui il contenitore è in ascolto. server.port = 7001 server.modjk.enabled = false

mio file web.xml include il seguente codice: -

<servlet> 
    <servlet-name>olatservlet</servlet-name> 
    <servlet-class>org.olat.core.servlets.OLATServlet</servlet-class> 

    <!-- Set the load order --> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>olatservlet</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
    <servlet-name>olatservlet</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 

Quando mi è stato inizialmente l'esecuzione del file guerra 11g weblogic, ero ottenendo un'eccezione nullpointer. Tuttavia, ho potuto distribuire il file quando ho rimosso XerceImpl.jar dalla cartella lib. Ora sono in grado di distribuire l'applicazione con successo. Io chiamo la root di contesto nel weblogic come nome del file war. Quando provo ad aprire il collegamento generato da weblogic nella sua scheda di prova, ottengo il seguente errore: -

Errore 403 - Accesso negato

Da RFC 2068 Hypertext Transfer Protocol - HTTP/1.1:

10.4.4 403 Proibito

Il server ha compreso la richiesta, ma si rifiuta di soddisfarla. L'autorizzazione non aiuterà e la richiesta NON DEVE essere ripetuta. Se il metodo di richiesta non era HEAD e il server desidera rendere pubblico perché la richiesta non è stata soddisfatta, DOVREBBE descrivere il motivo del rifiuto nell'entità. Questo codice di stato viene comunemente utilizzato quando il server non desidera rivelare esattamente il motivo per cui la richiesta è stata rifiutata o quando non è applicabile nessun'altra risposta.

Mi chiedevo se qualcuno potesse dirmi come risolvere questo problema.

+0

Forse in ritardo ma, hai visto il registro di sicurezza e il registro del server? Ricevi delle eccezioni in questi file quando provi ad accedere all'applicazione? –

risposta

0

Puoi controllare il file web.xml, non segue la sintassi XML, significa file XML valido, anche un piccolo errore, come in più < o> causare questo tipo di problema (che ho incontrato lo stesso)

+1

Ho controllato il mio file xml ma non riesco a trovare alcun errore di sintassi. Inoltre, il codice funziona correttamente in Tomcat. – user1439090

3

So che è molto tardi, ma ho anche riscontrato lo stesso problema e, dopo aver cercato su google, ho scoperto che il motivo e ho deciso di postarlo solo per chiunque altro potesse incontrare lo stesso problema. Questa pagina web mi ha dato il suggerimento:

Error 403 explained

Per impostazione predefinita, WebLogic disabilita esplorazione directory, quindi, se si dispone di un sito web (ad esempio example.com) con un index.html come pagina iniziale e quindi converte

http://localhost:7001/example.com, 

per impostazione predefinita weblogic non recupera automaticamente la home page. È necessario digitare il percorso completo cioè

http://localhost:7001/example.com/index.html. 

O questo, è necessario per consentire l'esplorazione directory in weblogic. Ad ogni modo, questo è quello che è successo a me.

5

So che è molto tardi per rispondere a questa domanda. Ma sto rispondendo con la mia piccola conoscenza nella speranza che aiuti qualcuno là fuori.

È necessario definire la pagina iniziale nell'elenco di file di benvenuto nel file web.xml.Ad esempio, se client.jsp è la pagina da visualizzare quando si esegue il progetto, la prima linea in segno di benvenuto-file-lista nel file web.xml dovrebbe essere

<welcome-file-list> 
    <welcome-file>client.jsp</welcome-file> 
    <welcome-file>index.html</welcome-file> 
</welcome-file-list> 
+0

Il mio potrebbe risolvere il mio problema modificando il mio file web.xml. Nel mio caso era una configurazione jsf. '
Faces Servlet javax.faces.webapp.FacesServlet 1
Faces servlet * .xx ' – ferreirabraga

-1

è possibile aggiungere questo codice alla fine del file web.xml

<welcome-file-list> 
    <welcome-file>faces/my_page.jspx</welcome-file> 
</welcome-file-list> 

o se si sta utilizzando JDeveloper si può andare alla scheda, pagine e in file di benvenuto aggiungendo il percorso alla pagina che si desidera essere aperta da defalut Panoramica. Inoltre dovresti aggiungere "faces /" prima del nome della tua pagina dando il fatto che questa è la rotta predefinita per la pagina che hai creato.

2

Se non si aggiunge la configurazione di sicurezza corrispondente in weblogic.xml, verrà visualizzato il messaggio "403 Proibito. Il server ha compreso la richiesta, ma si rifiuta di evaderlo." "errore.

Così fare in modo che oltre ad aver configurato il web.xml con "security-constraint" "sicurezza ruolo" Impostazioni "login-config" e, hai anche "Sicurezza- ruolo assegnazione "configurazione nella weblogic.xml, come il seguente:

<?xml version="1.0" encoding="UTF-8"?> 
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.8/weblogic-web-app.xsd"> 
    <wls:weblogic-version>12.2.1</wls:weblogic-version> 
    <wls:context-root>SomeApp</wls:context-root> 
    *************** 
    *************** 
    <wls:security-role-assignment> 
     <wls:role-name>someGroupeDefinedInWebLogicServer</wls:role-name> 
     <wls:principal-name>someUserDefinedInWebLogicServer</wls:principal-name> 
    </wls:security-role-assignment> 
    *************** 
    *************** 
</wls:weblogic-web-app> 

Speranza, questo hepls.