如何从注入的实例中获取更新值

How to Get Updated Value from Injected Instance

命名 bean listProjects 需要容器提供的身份验证。我想从命名的 loginMBean 中获取用户名并在 listProjects bean 中使用它。

我已经将身份验证 bean 注入到 listProjects 中,但是当我访问用户名时,即使用户已经过身份验证,它还是空的。

@Named("loginMBean")
@SessionScoped
@PermitAll
public class LoginMBean implements Serializable {
private String username;

public String getUsername() {
    return username;
} 



@Named
@SessionScoped
@RolesAllowed({"Users"})
public class ListProjectsMBean implements Serializable {
@Inject
private LoginMBean wLoginMBean;

public void getList(ActionEvent actionEvent) {
        String testUserName = wLoginMBean.getUsername();
  l     
}

野蝇 8.2 焊接 2.2 java1.7

注入没问题,用户名可能未设置,这就是它为空的原因。

尝试在ListProjectsMBean中注入principal,看是否认证成功。

@Inject Principal principal;