第2世界
发布于 2024-02-05 / 8 阅读 / 0 评论 / 0 点赞

eruptUserService获取不到用户

erupt在使用的时候通过下面注入eruptUserService获取不到用户:

// 获取登录用户上下文信息
@RestController
public class TestController{
    
    @Autowired
    private EruptUserService eruptUserService;
    
    @Autowired
    private EruptContextService eruptContextService;

    @RequstMapping("test")
    public void test(){

        // 获取当前登录用户ID
        Long uid = eruptUserService.getCurrentUid();

        // 获取当前登录用户对象(eruptUser)
        EruptUser eruptUser = eruptUserService.getCurrentEruptUser();
        
        // 获取当前用户基础信息(不查数据库)
        AdminUserinfo adminUserinfo = eruptUserService.getAdminUserInfo();

        // 获取当前请求token
        String token = eruptContextService.getCurrentToken();

        // 获取当前访问菜单
        EruptMenu eruptMenu = eruptContextService.getCurrentEruptMenu();

        // 获取erupt上下文类对象
        // 获取的是有Erupt注解的类
        Class<?> clazz = eruptContextService.getContextEruptClass();

    }
}

获取不到是因为没有给传递token,作为api必须给传token。反之如果是用服务端渲染的模板,比如freemarker就可以使用@Autowire注入并获取到用户。


评论