Documentation Center

New identity of TDSE objects created by Event Handler

If your implementation contains 5.3 or 5.3 SP1 Event Handler code, reconfigure the identity of the user associated with executing this code.

The following information applies only if all of the following is true for you:

  • At some point in the past, you have upgraded from SDL Tridion R5 5.3 or 5.3 SP1 to a newer version of SDL Tridion.
  • You have 5.3 or 5.3 SP1 event handler code running in your system.
  • You do not wish to migrate to the new TOM.NET-based Event System.
  • You do not use LDAP.

If all of the above apply, note the following change: TDSE objects created by your Event Handler now assume the identity of the SDL Tridion Application Pool, which defaults to NETWORK SERVICE (or your localized equivalent on French or German systems).

This means one of the following:

  • NETWORK SERVICE has insufficient access to execute the Event Handler code, and the Event Handler fails.
  • NETWORK SERVICE has sufficient access to execute the Event Handler code, but now all events are logged as having been executed by NETWORK SERVICE rather than by the actual user who triggered the event.

You must now ensure that NETWORK SERVICE impersonates the actual user who triggered the event. To do this use TDSE.Impersonate. You can obtain the identity of the actual user by checking the ITCMEvents.Identity property.

It is also possible that you have chosen to run the Event Handlers in your own COM+ server application, TDSE objects are created by the server account that is configured as the identity of that COM+ application. In this situation, you must ensure that the server account configured as the identity of your COM+ application has sufficient access.