Skip to content

Latest commit

 

History

History
34 lines (22 loc) · 1.79 KB

File metadata and controls

34 lines (22 loc) · 1.79 KB
SecurityContext

Экземпляр класса SecurityContext хранит информацию о пользовательской сессии для текущего потока выполнения. Он создается и передается в метод AppContext.setSecurityContext() в следующие моменты:

  • для блоков Web Client и Web Portal - в начале обработки каждого HTTP-запроса от пользовательского браузера.

  • для блока Middleware - в начале обработки каждого запроса от клиентского уровня и от назначенных заданий CUBA.

  • для блока Desktop Client - один раз после входа пользователя, так как десктопное приложение является однопользовательским.

По окончании выполнения запроса в первых двух случаях SecurityContext удаляется из потока выполнения.

При создании прикладным кодом нового потока выполнения в него необходимо передать текущий экземпляр SecurityContext, например:

link:../../../../../source/common/securitycontext_1.java[role=include]

То же самое можно сделать, используя обертки SecurityContextAwareRunnable или SecurityContextAwareCallable, например:

link:../../../../../source/common/securitycontext_2.java[role=include]
link:../../../../../source/common/securitycontext_3.java[role=include]