#26 2022-01-11 15:19:34

itatwork
Member
Registered: 2019-12-11

Re: LDAP-Zugriff einrichten

Das habe ich gemacht:
Jetzt kommt diese Meldung:

Caused by: org.postgresql.util.PSQLException: ERROR: update or delete on table "rs_user" violates foreign key constraint "fk_ag4u7ntsj4k38buq7apbp2ew4" on table "rs_sched_execute_script_job"


Gruß
Christoph

Offline

#27 2022-01-11 15:22:48

itatwork
Member
Registered: 2019-12-11

Re: LDAP-Zugriff einrichten

kompletter Output:

11-Jan-2022 16:18:19.493 SEVERE [scriptExec-84] org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logExceptions ERROR: update or delete on table "rs_user" violates foreign key constraint "fk_ag4u7ntsj4k38buq7apbp2ew4" on table "rs_sched_execute_script_job"
  Detail: Key (id)=(1565503) is still referenced from table "rs_sched_execute_script_job".
11-Jan-2022 16:18:19.528 SEVERE [scriptExec-84] org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logExceptions ERROR: current transaction is aborted, commands ignored until end of transaction block
11-Jan-2022 16:18:19.530 WARNING [scriptExec-84] net.datenwerke.rs.scripting.service.scripting.terminal.commands.ExecScriptCommand$1$1.doFilter Unable to provision, see the following errors:

1) Error injecting method, javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute statement
  at net.datenwerke.security.service.eventlogger.DwLoggedEvent.setAuthenticatorServiceProvider(DwLoggedEvent.java:40)
  while locating net.datenwerke.rs.scripting.service.scripting.events.ScriptExecutionFailedEvent

1 error
        com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error injecting method, javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute statement
  at net.datenwerke.security.service.eventlogger.DwLoggedEvent.setAuthenticatorServiceProvider(DwLoggedEvent.java:40)
  while locating net.datenwerke.rs.scripting.service.scripting.events.ScriptExecutionFailedEvent

1 error
                at com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:226)
                at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:73)
                at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:1055)
                at net.datenwerke.rs.utils.eventbus.EventBusImpl.fireEvent(EventBusImpl.java:74)
                at net.datenwerke.rs.scripting.service.scripting.ScriptingServiceImpl.executeScript(ScriptingServiceImpl.java:265)
                at net.datenwerke.rsenterprise.license.service.EnterpriseCheckInterceptor.invoke(EnterpriseCheckInterceptor.java:35)
                at net.datenwerke.rs.scripting.service.scripting.ScriptingServiceImpl.executeScript(ScriptingServiceImpl.java:317)
                at net.datenwerke.rsenterprise.license.service.EnterpriseCheckInterceptor.invoke(EnterpriseCheckInterceptor.java:35)
                at net.datenwerke.rs.scripting.service.scripting.ScriptingServiceImpl.executeScript(ScriptingServiceImpl.java:288)
                at net.datenwerke.rsenterprise.license.service.EnterpriseCheckInterceptor.invoke(EnterpriseCheckInterceptor.java:35)
                at net.datenwerke.rs.scripting.service.scripting.terminal.commands.ExecScriptCommand.doTransactionExecute(ExecScriptCommand.java:345)
                at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:64)
                at net.datenwerke.rs.scripting.service.scripting.terminal.commands.ExecScriptCommand$1$1.doFilter(ExecScriptCommand.java:269)
                at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:89)
                at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:121)
                at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:133)
                at net.datenwerke.rs.scripting.service.scripting.terminal.commands.ExecScriptCommand$1.call(ExecScriptCommand.java:263)
                at net.datenwerke.rs.scripting.service.scripting.terminal.commands.ExecScriptCommand$1.call(ExecScriptCommand.java:1)
                at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
                at java.base/java.lang.Thread.run(Thread.java:830)
        Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute statement
                at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1692)
                at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1602)
                at org.hibernate.jpa.internal.QueryImpl.getSingleResult(QueryImpl.java:513)
                at org.hibernate.jpa.criteria.compile.CriteriaQueryTypeQueryAdapter.getSingleResult(CriteriaQueryTypeQueryAdapter.java:54)
                at net.datenwerke.rs.utils.simplequery.byid.QueryByIdProcessor.process(QueryByIdProcessor.java:69)
                at net.datenwerke.rs.utils.simplequery.byid.QueryByIdInterceptor.invoke(QueryByIdInterceptor.java:24)
                at net.datenwerke.security.service.authenticator.RequestUserCacheImpl.getUser(RequestUserCacheImpl.java:30)
                at net.datenwerke.security.service.authenticator.AuthenticatorServiceImpl.getCurrentUser(AuthenticatorServiceImpl.java:183)
                at net.datenwerke.security.service.eventlogger.DwLoggedEvent.setAuthenticatorServiceProvider(DwLoggedEvent.java:41)
                at net.datenwerke.security.service.eventlogger.DwLoggedEvent$$FastClassByGuice$$fa3a5d39.invoke(<generated>)
                at com.google.inject.internal.SingleMethodInjector$1.invoke(SingleMethodInjector.java:51)
                at com.google.inject.internal.SingleMethodInjector.inject(SingleMethodInjector.java:85)
                at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:147)
                at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:101)
                at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:71)
                ... 18 more
        Caused by: org.hibernate.exception.GenericJDBCException: could not execute statement
                at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47)
                at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)
                at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:95)
                at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:207)
                at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3200)
                at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3433)
                at org.hibernate.action.internal.EntityDeleteAction.execute(EntityDeleteAction.java:98)
                at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:451)
                at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:336)
                at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:335)
                at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:50)
                at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1193)
                at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1261)
                at org.hibernate.internal.QueryImpl.list(QueryImpl.java:87)
                at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:567)
                at org.hibernate.jpa.internal.QueryImpl.getSingleResult(QueryImpl.java:482)
                ... 30 more
        Caused by: org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block
                at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2533)
                at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2268)
                at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:313)
                at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:448)
                at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:369)
                at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:159)
                at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:125)
                at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:1449)
                at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:204)
                ... 42 more
        Caused by: org.postgresql.util.PSQLException: ERROR: update or delete on table "rs_user" violates foreign key constraint "fk_ag4u7ntsj4k38buq7apbp2ew4" on table "rs_sched_execute_script_job"
  Detail: Key (id)=(1565503) is still referenced from table "rs_sched_execute_script_job".
                at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2533)
                at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2268)
                at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:313)
                at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:448)
                at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:369)
                at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:159)
                at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:125)
                at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:1449)
                at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:204)
                at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3200)
                at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3433)
                at org.hibernate.action.internal.EntityDeleteAction.execute(EntityDeleteAction.java:98)
                at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:451)
                at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:336)
                at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:335)
                at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:50)
                at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1193)
                at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1261)
                at org.hibernate.internal.QueryImpl.list(QueryImpl.java:87)
                at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:567)
                at org.hibernate.jpa.internal.QueryImpl.getSingleResult(QueryImpl.java:482)
                at org.hibernate.jpa.criteria.compile.CriteriaQueryTypeQueryAdapter.getSingleResult(CriteriaQueryTypeQueryAdapter.java:54)
                at net.datenwerke.rs.utils.simplequery.byid.QueryByIdProcessor.process(QueryByIdProcessor.java:69)
                at net.datenwerke.rs.utils.simplequery.byid.QueryByIdInterceptor.invoke(QueryByIdInterceptor.java:24)
                at net.datenwerke.security.service.authenticator.RequestUserCacheImpl.getUser(RequestUserCacheImpl.java:30)
                at net.datenwerke.security.service.authenticator.AuthenticatorServiceImpl.getCurrentUser(AuthenticatorServiceImpl.java:183)
                at net.datenwerke.security.service.eventlogger.DwLoggedEvent.setAuthenticatorServiceProvider(DwLoggedEvent.java:41)
                at net.datenwerke.security.service.eventlogger.DwLoggedEvent$$FastClassByGuice$$fa3a5d39.invoke(<generated>)
                at com.google.inject.internal.SingleMethodInjector$1.invoke(SingleMethodInjector.java:51)
                at com.google.inject.internal.SingleMethodInjector.inject(SingleMethodInjector.java:85)
                at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:147)
                at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:101)
                at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:71)
                at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:1055)
                at net.datenwerke.rs.utils.eventbus.EventBusImpl.fireEvent(EventBusImpl.java:74)
                at net.datenwerke.security.service.eventlogger.aop.RemoveEntityEventInterceptor.invoke(RemoveEntityEventInterceptor.java:28)
                at net.datenwerke.security.service.usermanager.UserManagerService$remove$0.call(Unknown Source)
                at Script3.run(Script3.groovy:26)
                at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:344)
                at org.codehaus.groovy.jsr223.GroovyCompiledScript.eval(GroovyCompiledScript.java:41)
                at net.datenwerke.rs.scripting.service.scripting.engines.GroovyEngine.eval(GroovyEngine.java:74)
                at net.datenwerke.rs.scripting.service.scripting.ScriptingServiceImpl.executeScript(ScriptingServiceImpl.java:217)
                at net.datenwerke.rs.scripting.service.scripting.ScriptingServiceImpl.executeScript(ScriptingServiceImpl.java:263)
                ... 15 more

Offline

#28 2022-01-11 15:29:33

eduardo
Administrator
Registered: 2016-11-01
Website

Re: LDAP-Zugriff einrichten

Hi Christoph,

dieser User hat wohl noch Scheduler Einträge. Er ist entweder Owner, Recipient oder Executor. Deswegen kannst Du ihn noch nicht löschen, bis der User (analog wie die Teamspaces) ersetzt sind.

Ich habe ein Ticket erstellt (RS-5114) um diese Infos irgendwie aufzulisten. Vlt. weisst Du aber wo dieser User alles vorhanden war ?

Gruss
Eduardo

Offline

#29 2022-01-11 15:34:16

itatwork
Member
Registered: 2019-12-11

Re: LDAP-Zugriff einrichten

Hallo Eduardo,

ich überprüfe das, wo der User vorhanden ist.
Danke.

Gruß
Christoph

Offline

#30 2022-01-12 14:58:02

itatwork
Member
Registered: 2019-12-11

Re: LDAP-Zugriff einrichten

Wir können leider den Benutzer nicht aus allen Bereichen löschen, das hat nicht funktioniert.
Im Archiv ist er auch noch vorhanden.
Ich wusste nicht, dass das so ein krasses Hindernis ist, wegen einem LDAP-User.

Gibt es eine andere Lösung?
Wir müssen den LDAP-Import  starten, damit sich wieder Benutzer einloggen können.

Gruß
Christoph

Offline

#31 2022-01-12 15:06:27

eduardo
Administrator
Registered: 2016-11-01
Website

Re: LDAP-Zugriff einrichten

Hallo Christoph,

du kannst einen force-remove machen per Skript:
https://forum.reportserver.net/viewtopi … 2601#p2601

Funktioniert analog mit den Users.

Gruss
Eduardo

Offline

#32 2022-01-12 15:17:23

itatwork
Member
Registered: 2019-12-11

Re: LDAP-Zugriff einrichten

Hallo Eduardo,

userService.forceRemove hat leider den gleichen Effekt.

Gruß
Christoph

Offline

#33 2022-01-12 15:18:26

eduardo
Administrator
Registered: 2016-11-01
Website

Re: LDAP-Zugriff einrichten

itatwork wrote:

Hallo Eduardo,

userService.forceRemove hat leider den gleichen Effekt.

.. welchen genau?

Offline

#34 2022-01-12 15:20:20

itatwork
Member
Registered: 2019-12-11

Re: LDAP-Zugriff einrichten

Caused by: org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block
                at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2533)
                at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2268)
                at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:313)
                at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:448)
                at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:369)
                at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:159)
                at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:125)
                at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:1449)
                at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:204)
                ... 43 more
        Caused by: org.postgresql.util.PSQLException: ERROR: update or delete on table "rs_user" violates foreign key constraint "fk_ag4u7ntsj4k38buq7apbp2ew4" on table "rs_sched_execute_script_job"
  Detail: Key (id)=(1565503) is still referenced from table "rs_sched_execute_script_job".

Offline

#35 2022-01-12 15:21:20

itatwork
Member
Registered: 2019-12-11

Re: LDAP-Zugriff einrichten

Aktuell können sich bereits importierte Benutzer nicht mehr einloggen.

Offline

#36 2022-01-12 15:57:38

eduardo
Administrator
Registered: 2016-11-01
Website

Re: LDAP-Zugriff einrichten

Hi Christoph,

das listet die Scheduler Jobs auf die der Benutzer hat:

select * from RS_SCHED_EXECUTE_SCRIPT_JOB where scheduled_by_id = id deines Benutzers

diese Jobs kannst du dann löschen bzw. neu schedulen: https://reportserver.net/en/guides/admi … uleScript/

Gruss
Eduardo

Offline

#37 2022-01-12 16:42:13

eduardo
Administrator
Registered: 2016-11-01
Website

Re: LDAP-Zugriff einrichten

Hi Christoph,

aber zurück zum eigentlichen Problem: Du kannst das LDAP Skript nicht ausführen, weil sich Users irrtümlicherweise im Root Verzeichnis des RS befinden.

Du kannst die OUs dieser Users per Skript anpassen:
z.b. mit newParentOu.addChild(user)

https://reportserver.net/api/current/ja … addChild-N-

"Add a new childnode to this node. Childnode will become detached from old parent node if necessary"

So wäre das Problem wohl weg (es gäbe keine Users mehr direkt unter Root), und so könnten sich deine Users wieder anmelden. Danach kannst du diese Users archivieren/ändern/etc.

Gruss
Eduardo

Offline

Board footer

Powered by FluxBB