前后端Session同步问题

我在Screen 使用 userSession.setAttribute添加了一个参数,然后调用Service的方法,在方法中使用userSessionSource.getUserSession().getAttribute取参数,这样无法获取到,再次打开Screen后参数才刷新

请问Session前后端的同步机制是怎样的,怎样能及时同步前后端的Session?

web层和core层之前 session属性是同步设置的, 应该是可以取到。
跟踪一下ClientUserSession 的 public void setAttribute(String name, Serializable value) { 方法。
看看是否走到了下面的位置:

if (authenticated) {
            UserSessionService uss = AppBeans.get(UserSessionService.NAME);
            uss.setSessionAttribute(id, name, value);
        }

我描述有误,是在Service 中调用 userSession.setAttribute和 userSession.addPermission方法,然后Screen中无法获取到

session属性只能从web层传递到 core层,反之不行

已解决,我将后端的Session通过接口回传回来,遍历 Attribute 全部写回到 ClientUserSession ,实现core到web的Session同步

1 个赞