首页 > 解决方案 > Generic Principal 的 getRoles 返回空数组

问题描述

这是创建 Principal 对象的代码。

List<String> roles = new ArrayList();
roles.add(userRole);
this.principal = new GenericPrincipal(username,"***********",roles);

当我打印主要对象时,我得到了[username(userRole,)]

从校长那里得到名字

GenericPrincipal principal = (GenericPrincipal)request.getUserPrincipal();
String name = principal.getName();

从校长那里获得角色

GenericPrincipal principal = (GenericPrincipal)request.getUserPrincipal();
String[] roles = principal.getRoles();

当我打印主要对象时,我得到了[username()]

我可以从校长那里得到名字,但不能从角色那里得到。角色[] 的长度为 0。

我什至尝试过 getPassword() 方法。它返回空值。只有 getName() 方法可以正常工作。

为什么角色数组为空,如何正确获取角色?

标签: javatomcatuserprincipalgenericprincipal

解决方案


推荐阅读