我們有一個Java EE 7應用程序並使用Arquillian來測試內容。現在我們要檢查當前登錄用戶的一些權限。我的問題非常基本,如何在測試用例中登錄用戶?我已閱讀ProgrammaticLogin doesnt work in arquillian tests和Embedded Glassfish, security and Arquillian questions,但他們沒有明確回答。我目前的做法是這樣的:如何使用Arquillian測試登錄/認證 - Java EE 7
// Inject services etc.
@Test
public void testLogin(){
UserAccount user = new UserAccount();
user.setUsername("bob");
user.setPassword("bob");
userAccountService.save(user);
ProgrammaticLogin pl = new ProgrammaticLogin();
String realmName = "secureJDBCRealm";
try {
pl.login("bob", "bob".toCharArray(), realmName, true);
} catch (Exception e){
e.printStackTrace();
}
}
現在,當我嘗試運行這一點,得到一個LoginException異常聲稱我沒有的LoginModule配置爲「fileRealm」。但是「fileRealm」不是我正在尋找的領域(我把它放在第一次測試中,但後來我將它改爲「secureJDBCRealm」,這是我們自定義的GlassFish安全領域)。我們使用arquillian-glassfish-embedded-3.1
進行測試。
- 有誰知道在哪裏定義Arquillian的領域?
- 爲什麼我的應用程序一直在尋找fileRealm?這是默認值嗎? (在這裏找不到任何規格)
感謝登錄!但是,我們最終使用了已經預先配置了正確Realm的遠程GlassFish。遠程支持不是很久以前發佈的,所以我們一開始並沒有看到這種可能性。 – bmurauer
CommanderRunner界面改變了,這不再起作用了: -/Glassfish 3.1.2.2 –