NutzCN Logo
问答 nutz-plugins-slog 里面获取不到u_id
发布于 2801天前 作者 qq_a930202f 1895 次浏览 复制 上一个帖子 下一个帖子
标签:

debug发现principals未null?可是我在自己的service里面是可以获取到principals。

	public static Callable<Object> GET_USER_ID = new Callable<Object>() {
        public Object call() throws Exception {
            Object u;
            try {
                u = SecurityUtils.getSubject().getPrincipal();
            } catch (Throwable e) {
                return Integer.valueOf(-1);
            }
            if (u != null) {
                return u.toString();
            }
            return Integer.valueOf(0);
        };
    };
    
12 回复

是不是因为异步执行了?

@Slog(tag="修改", after=" [${re.message}]",async=false)
是这样关的吗?没效果

没有关系, 我觉得还是debug一下看看吧

要是service有,但这里没有, 应该是线程不一样

我debug的结果就是 u = SecurityUtils.getSubject().getPrincipal(); 是null。
这个怎么解决呢

u = SecurityUtils.getSubject().getPrincipal();
new Throwable().printStackTrace(); // 这样会打印出来堆栈信息,贴一下

GET_USER_ID 是一个静态属性,可以修改的.

我是引用的maven,怎么打印堆栈?

在MainSetup的init方法内, 为GET_USER_ID赋值

自己的失误,principal不是null。
但是principal不是user_id,是user对象。默认的 u.toString()再转int就有问题了 。

添加回复
请先登陆
回到顶部