2012-01-20 80 views
1

我在碼頭配置基本認證問題 這裏是我的web.xml將安全嵌入碼頭

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>resources</web-resource-name> 
     <url-pattern>/resources/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>user</role-name> 
    </auth-constraint> 
</security-constraint> 
<login-config> 
    <auth-method>BASIC</auth-method> 
    <realm-name>MyRealm</realm-name> 
</login-config> 
<security-role> 
    <role-name>user</role-name> 
</security-role> 

,這裏是我的Java代碼,我嘗試添加login服務

HashLoginService myrealm = new HashLoginService("MyRealm"); 
    myrealm.setConfig("src/main/resources/jetty-realm.properties"); 
    root.getSecurityHandler().setLoginService(myrealm); 

我的jetty-realm.properties文件有以下用戶

user: Lag976JGQdeosfQM,user 

我可以建立連接但我無法進行身份驗證,而且我現在已經陷入了很長一段時間,所以無論誰幫助我,都可以免費獲得數字啤酒! ;)

回答

5

好了,所以我發現了什麼我沒有做, 你必須開始一個login服務之前,你可以使用它,所以我改變了我的Java代碼來

HashLoginService myrealm = new HashLoginService("MyRealm"); 

myrealm.setConfig("src/main/resources/jetty-realm.properties"); 
myrealm.start(); 

root.getSecurityHandler().setLoginService(myrealm); 
+0

什麼是'root'參數?我應該把這裏面'contextInitialized()'? – Halil