2016-02-21 46 views
0

命名bean listProjects需要容器提供的身份驗證。我想從命名的log​​inMBean獲取用戶名,並在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  
} 

wildfly 8.2 焊接2.2 的Java 1.7

+0

您確定在驗證後'username'字段是否爲空?如果您在驗證後使用用戶名設置字段,則應該看到「更新的值」。 – Geinmachi

+0

我認爲你是對的。顯然我並沒有真正使用認證bean進行認證。在改變日食的同時造成我的問題,所以我不能真正測試它。仍在努力。 – user3555047

回答

0

注入是確定的,用戶名可能是沒有設置,這就是爲什麼它是空的。

嘗試在ListProjectsMBean中注入主體以查看身份驗證是否成功。

@Inject Principal principal; 
+0

@Geinmachi和你的評論都很有幫助。 Geinmachi是第一個,所以我想標記他的評論是正確的,但似乎我只能檢查答案。 – user3555047

相關問題