我有一个Spring应用程序,用户必须通过3个字段(用户名,部门ID和密码)登录。我想在运行时检索当前登录用户的部门ID
我尝试过:
SecurityContextHolder.getContext().getAuthentication()
然后尝试将其强制转换为UserDetails对象,但发生错误,提示无法强制转换该对象。
我还尝试扩展UserDetails接口并添加要返回的所需数据,然后实现了新接口,但是我也无法转换对象。
答案 0 :(得分:-1)
如果使用JWT,则在令牌构建期间添加声明 字符串jwt = Jwts.builder() .setSubject(用户名) .claim(“ deptId”,departmentId)
然后从Claims.getBody()获取值