You are not logged in.
Pages: 1
Topic closed
Hallo!
Ich habe folgendes Problem:
Ich habe einige User erstellt und diese den TeamSpaces zugewiesen. Klicke ich als einer der User auf ein Report-Template im TeamSpace sollte normalerweise die Berichtsdokumentation zum Report erscheinen. Jedoch erhalte ich folgende Fehlermeldung (wenn ich den Bericht öffne gibt es keine Probleme - lässt sich auch ausführen):
- Das Berechtigungsproblem tritt nur bei der Berichtsdokumentation auf.
-------------------------------------------------------------------------------------------------------------------------
Fehler: Der Bericht konnte nicht ausgeführt werden.
Security Violation
Im Falle eines nicht nachvollziehbaren Fehlers kontaktieren Sie bitte einen Administrator.
Details:
java.lang.RuntimeException: Security Violation at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.validateRequest(ReportExportServlet.java:136) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReport(ReportExportServlet.java:302) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReportById(ReportExportServlet.java:242) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReportByIdViaRequest(ReportExportServlet.java:233) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doGet(ReportExportServlet.java:153) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$85e0481a.CGLIB$doGet$7() at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$85e0481a$$FastClassByGuice$$d7e5789d.invoke() at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:66) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:110) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$85e0481a.doGet() at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$85e0481a.CGLIB$service$14() at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$85e0481a$$FastClassByGuice$$d7e5789d.invoke() at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:110) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$85e0481a.service() at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263) at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178) at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62) at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118) at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
-------------------------------------------------------------------------------------------------------------------------
Mein Frage ist nun, wie ich die Berechtigungen so einstellen kann, dass auch die Berichtsdokumentation als User ohne super_user-Rechte öffnen kann?
Vielen Dank schon im Voraus!
Hans Peter
Offline
Hallo Hans Peter,
dem Benutzer fehlen die Rechte für den Dokubericht. Die Rechte für den Zugriff auf Berichte werden in der Berichtsverwaltung im Berichtsbaum eingestellt. Durch einen Rech Klick auf den jeweiligen Ordner oder Bericht kannst Du die gewünschten Rechte einstellen (Tab Rechteverwaltung).
Rechte in ReportServer werden in Form von Access Control Lists (ACL) und Access Control Entries (ACE) vergeben. Für jedes Objekt, auf welches der Zugriff eingeschränkt werden
soll, existiert eine ACL. Die ACL selbst ist hierbei eine Folge von ACEs welche ihrerseits aus mehreren Komponenten besteht.
Solltest Du den Democontent nutzen wäre der Dokubericht im Ordner Scriptreports zu finden.
Du legst nun einen neuen Folk an wählst den Benutzer oder die Benutzergruppe (ein Ordner aus dem Benutzerbaum) aus und vergibst die Rechte in deinem Fall ausführen und lesen. Und es bietet sich an das Recht lesen zu vergeben damit der Benutzer den Bericht auch im Katalog sehen kann.
Für den Dokubericht musst Du nun zusätzlich noch das eigentliche Skript berechtigen. In den Eigenschaften des Dokuberichtes findest Du den Namen des Skripts dokbericht.groovy. Diesen findest Du im Dateisystem um Ordner bin\reports. Die Rechte werden analog vergeben.
Kleiner Tipp: Im Handbuch für Administratoren wird die Rechteverwaltung von ReportServer ausführlich beschrieben den Link dazu findest Du hier.
Viele Grüße aus dem sonnigen Wiesbaden
Marcel Berger
datenwerke
Offline
Durch das Setzen der Berechtigungen für das Berichtdokumentation.groovy - Skript funktioniert die Anzeige einwandfrei
Vielen Dank für die Information!!
Lg, Hans Peter!
Offline
Pages: 1
Topic closed