Мне удалось сохранить исходный принципал как переменную рабочего процесса (в моем случае IClaimsPrincipal).
Это имеет два преимущества.
Во-первых, он был сохранен, поэтому, если рабочий процесс был сохранен, а затем возобновлен, исходный принципал все еще был там.Это также было важно, поскольку исходный контекст, из которого был получен принципал, может больше не быть доступным при возобновлении рабочего процесса.
Во-вторых (особенно для служб рабочего процесса), он позволил мне проверить, продолжает ли принципал продолжать рабочий процесс.Вызов другой операции службы (по сути, тот же логический сеанс через корреляцию) - это тот же пользователь, который начал сеанс (тот же принципал, что и переменная).