Dann lasse ich mal so wie es jetzt ist. Kannst Du bitte den letzten Satz nochmals anders schreiben?
Ich habe nicht verstanden, was Du gemeint hast.
Vielen Danke für deine Hilfe.
]]>Grüße
Thorsten
Das Script, wie ich gesehen habe, ist das selbe außer der Erweiterung, was bedeutet dieses Ergebnis dann?
Danke.
]]>Tausche doch bitte das Script aus dem vorherigen Schritt gegen dieses aus: http://pastebin.com/ThSPU8wC
Das ist im Prinzip das Script aus dem Blogpost jedoch mit ein paar Debug-Ausgaben und der Erweiterung, dass sich auch lokale Benutzer noch anmelden können.
- LDAPs Benutzer, dem die Rechte gegeben wurde, konnte sich mit Erfolg einloggen, egal was für ein Passwort man eingab;
- Mit dem RS' Benutzer passierte dasselbe.
Anstatt dem hookldappam aus dem blog benutze dieses hier: http://pastebin.com/dWjnEJDL
Das erlaubt einfach allen Benutzern die Anmeldung, egal ob das Passwort korrekt ist, oder nicht.
Lege das script in onstartup.d, damit es automatisch ausgeführt wird.
In der reportserver.properties benutzt du "rs.authenticator.pams = " also keine pams.
Falls es immer noch nicht geht, probiere es als root (mit falschem Passwort). Wenn root sich anmelden kann sind ziemlich sicher doch die Rechte in ReportServer noch falsch.
]]>Und dann nachher die folgende Reihe benutzt: Authoritative > kein > Non-Authoritative. Der Fehler wird immer noch gezeigt.
In der DB, die Rechte für meinen LDAPs Benutzer sind die gleiche wie für einen von Rs, also die Rechte sind fast sicher nicht.
]]>rs.authenticator.pams =
als leer probieren. Dann können sich aber die direkt in rs angelegten benutzer, also root z.b. nicht mehr anmelden.
]]>Könnte es nicht sein, dass nach der Username und das Passwort mit LDAP vergleicht sind, der ReportServer versucht mit dem gleichen Passwort ein normales Login wie z.B. 'root' zu machen? Und logischerweise ein Loginfehler wird immer passieren, denn die importieten Benutzer haben keine Passwörter in der Rs' DB.
Danke.
]]>schau doch mal, welche authenticator module in deiner reportserver.properties konfiguriert sind. In der 2.2 Version hat sich da der Default geändert. Korrekt sollte folgende Einstellung sein:
rs.authenticator.pams = net.datenwerke.rs.authenticator.service.pam.UserPasswordPAM
Grüße
Thorsten
Die Exception ist jetzt weg aber ich kann mit den importierten Benutzern mich nicht einloggen.
Ich habe ihnen Rechte für das FileSystem und den ReportServer Zugriff gegeben, dennoch ein Loginfehler wurde geworfen. 'exec -g hookldappam.groovy' wurde auch gemacht.
Mit ein paar 'prints' im 'hookldappam.groovy' habe ich herausgefunden dass das Login mit dem LDAP erfolgreich war. Von mir aus jetzt, der Fehler kann nur im ReportServer liegen.
Danke euch noch einmal.
]]>ich habe LDAP auf meinem ReportServer konfiguriert. Der Kode hat mit Erfolg die Benutzer des A.D. genommen. Danach zwei komische Sachen sind passiert
- Als ich versuche mit einem Benutzer von A.D. einzuloggen, er wirft einen Login-Fehler. Ich habe mit println herausgefunden, dass die Authentifikation von A.D. (Server-Side) zwar funktioniert. Komischerweise ReportServer wirft keine Exception, nur das Login-Fehlerfenster im Browser wird gezeigt. Die Rechte sind richtig eingestellt.
- Nach einer gewissen Zeit konnte ich gar nicht die Benutzerliste bei der Benutzerverwaltung ausklappen. Das passiert aber nur bei der Liste von den externen Benutzer (von A.D.). Da wirft er eine Exception. Sie ist:
Dec 23, 2014 1:51:30 PM net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor invoke
INFO: Intercepted NonFatalException
org.hibernate.InstantiationException: Cannot instantiate abstract class or interface: net.datenwerke.security.service.usermanager.entities.AbstractUserManagerNode
at org.hibernate.tuple.PojoInstantiator.instantiate(PojoInstantiator.java:114)
at org.hibernate.tuple.PojoInstantiator.instantiate(PojoInstantiator.java:136)
at org.hibernate.tuple.entity.AbstractEntityTuplizer.instantiate(AbstractEntityTuplizer.java:730)
at org.hibernate.persister.entity.AbstractEntityPersister.instantiate(AbstractEntityPersister.java:4552)
at org.hibernate.internal.SessionImpl.instantiate(SessionImpl.java:1388)
at org.hibernate.internal.SessionImpl.instantiate(SessionImpl.java:1377)
at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1595)
at org.hibernate.loader.Loader.getRow(Loader.java:1504)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:712)
at org.hibernate.loader.Loader.processResultSet(Loader.java:942)
at org.hibernate.loader.Loader.doQuery(Loader.java:910)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:341)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:311)
at org.hibernate.loader.Loader.loadCollection(Loader.java:2234)
at org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:65)
at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:674)
at org.hibernate.event.internal.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:85)
at org.hibernate.internal.SessionImpl.initializeCollection(SessionImpl.java:1849)
at org.hibernate.collection.internal.AbstractPersistentCollection$4.doWork(AbstractPersistentCollection.java:549)
at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:234)
at org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:545)
at org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:124)
at org.hibernate.collection.internal.AbstractPersistentCollection$1.doWork(AbstractPersistentCollection.java:153)
at org.hibernate.collection.internal.AbstractPersistentCollection$1.doWork(AbstractPersistentCollection.java:138)
at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:234)
at org.hibernate.collection.internal.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:137)
at org.hibernate.collection.internal.PersistentBag.size(PersistentBag.java:242)
at net.datenwerke.treedb.service.treedb.AbstractNode.hasChildren(AbstractNode.java:213)
at net.datenwerke.treedb.service.treedb.dtogen.AbstractNode2DtoPostProcessor.dtoCreated(AbstractNode2DtoPostProcessor.java:34)
at net.datenwerke.security.service.usermanager.entities.dtogen.OrganisationalUnit2DtoGenerator.createDto(OrganisationalUnit2DtoGenerator.java:89)
at net.datenwerke.security.service.usermanager.entities.dtogen.OrganisationalUnit2DtoGenerator.createDto(OrganisationalUnit2DtoGenerator.java:1)
at net.datenwerke.security.service.dtoservice.SecurityDtoServiceImpl.createDto(SecurityDtoServiceImpl.java:254)
at net.datenwerke.gf.service.dtoservice.DtoServiceImpl.createDto(DtoServiceImpl.java:204)
at net.datenwerke.security.server.TreeDBManagerTreeHandler.getChildrenAsFto(TreeDBManagerTreeHandler.java:208)
at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:110)
at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)
at sun.reflect.GeneratedMethodAccessor142.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:110)
at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:110)
at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)
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:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
13:51:30,620 WARN LoadContexts:122 - HHH000100: Fail-safe cleanup (collections) : org.hibernate.engine.loading.internal.CollectionLoadContext@59127c78<rs=com.mchange.v2.c3p0.impl.NewProxyResultSet@1a0f599a>
13:51:30,620 WARN CollectionLoadContext:351 - HHH000160: On CollectionLoadContext#cleanup, localLoadingCollectionKeys contained [1] entries
Ich habe das Gefühl, es sei etwas in der DB beim Importieren falsch gegangen. Was denkt ihr ?
Ich danke euch im Voraus.
Arthur Vinicius.
]]>