AnsweredAssumed Answered

error500.jsp - traitement des erreurs 403 500 etc. - Share

Question asked by myriam on Nov 26, 2012
Bonjour,

Dans Share il y'a une page error500.jsp qui affiche quelque chose qui ressemble à ça :

A server error has occured.

There are a number of reasons why this could have happened:

    You have attempted to access a page that does not exist - check the URL in the address bar.
    You have attempted to access a page that is not accessable to you, such as a private Site dashboard.
    A valid page has been requested but the server was unable to render it due to an internal error - contact your administrator.


Return to your dashboard page

Quelqu'un pourrait-il m'expliquer le cheminement qui mène à l'affichage de cette page?

Y'aurait-il une possibilité d'afficher une page différente selon que l'erreur corresponde à "You have attempted to access a page that does not exist - check the URL in the address bar." (404?) ou à "You have attempted to access a page that is not accessable to you, such as a private Site dashboard." (403?) ou encore à "A valid page has been requested but the server was unable to render it due to an internal error - contact your administrator." (500?) ?

D'un autre côté je remarque que l'accès à des ressources non autorisées (par exemple un lien de visualisation en ligne d'une vidéo qui appartient à un utilisateur par un autre) mène à l'affichage d'une autre page d'erreur :

Alfresco    Web Script Status 500 - Internal Error

The Web Script /alfresco/s/api/node/content/workspace/SpacesStore/4801aac4-d46a-43ec-984c-48fc97d84a2c/503.html has responded with a status of 500 - Internal Error.

500 Description:   An error inside the HTTP server which prevented it from fulfilling the request.

Message:   10260002 Access refusé. Vous n'avez pas la permission de réaliser cette opération.
   
Exception:   net.sf.acegisecurity.AccessDeniedException - Access is denied.
   
   net.sf.acegisecurity.vote.AffirmativeBased.decide(AffirmativeBased.java:86)
   net.sf.acegisecurity.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:394)
   net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:77)
   org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:43)
   org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:135)
   org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
   org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   $Proxy25.getProperty(Unknown Source)
   org.alfresco.repo.web.scripts.content.StreamContent.streamContent(StreamContent.java:345)
   org.alfresco.repo.web.scripts.content.StreamContent.streamContent(StreamContent.java:314)
   org.alfresco.repo.web.scripts.content.ContentGet.execute(ContentGet.java:167)
   org.alfresco.repo.web.scripts.RepositoryContainer$2.execute(RepositoryContainer.java:367)
   org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:325)
   org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:417)
   org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:434)
   org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:298)
   org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:319)
   org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:177)
   org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:116)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
   org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
   org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
   java.lang.Thread.run(Thread.java:619)
   
Exception:   org.alfresco.repo.security.permissions.AccessDeniedException - 10260002 Access refusé. Vous n'avez pas la permission de réaliser cette opération.
   
   org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:47)
   
Server:   Enterprise v3.3.1 (96) schema 4 013
Time:   26 nov. 2012 17:46:20
   
Diagnostics:   Inspect Web Script (org/alfresco/cmis/content.get)

Comment faire en sorte que ce ne soit pas cette page qui s'affiche mais une page spécifique à l'erreur 403 ?

Il existe des jira (https://issues.alfresco.com/jira/browse/ALF-9861 , https://issues.alfresco.com/jira/browse/ALF-13555) en rapport avec cette demande mais je ne vois pas (ou ne comprends pas) de solution.


Je débute avec Alfresco, merci de votre indulgence  :wink:


Et merci d'avance pour votre aide.



Cordialement.

Outcomes