2012-08-01 76 views
3

對於我的Java Web應用程序,我正在使用JAAS進行身份驗證和授權。什麼是受保護的,但登錄和錯誤頁面,所以我配置我與碼頭:將註冊表單添加到JAAS受保護的servlet

ConstraintMapping cm = new ConstraintMapping(); 
cm.setConstraint(constraint); 
cm.setPathSpec("/*"); 

現在我想提供一個註冊頁面,有沒有辦法來定義的路徑規範例外嗎?正如我已經測試並在源代碼中看到的,正則表達式在這裏不起作用。

+0

你爲什麼不有您在部署描述符中的約束? – MaVRoSCy 2012-08-01 06:02:47

+0

@MaVRoSCy你的意思是在Jetty XML中定義它?它有什麼不同?它應該是一樣的。 – Mahoni 2012-08-01 07:13:24

+0

在web.xml中定義 – MaVRoSCy 2012-08-01 08:20:13

回答

2

這可以用約束鬆弛來解決。 您可以添加其他約束你的約束映射,這會放鬆更一般的約束爲/*

Constraint relaxation = new Constraint(); 
relaxation.setName(Constraint.ANY_ROLE); 
relaxation.setAuthenticate(false); 

ConstraintMapping rm = new ConstraintMapping(); 
rm.setConstraint(relaxation); 
rm.setPathSpec("/signup"); 

然後添加此約束,以及您ContextSecurityHandler

csh.addConstraintMapping(rm); 
相關問題