2009-10-01 121 views
1

我正在使用this WebDAV Java Servlet實現,就我所知,它是最小且最容易使用的不依賴於Tomcat(使用WebLogic)的WebDAV java解決方案。實現WebDAV Servlet的身份驗證

所以我想擴展它來使用我的底層安全層,它有點使用數據庫連接來認證用戶。

我的問題是,如果這是可能的? HttpServletRequest是否獲得認證?

考慮以下方法標題:

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } 

現在我想用req.getPrincipal獲取包含用戶名和密碼的用戶主體。但是,即使將WebDAV客戶端設置爲Windows身份驗證或其他任何其他方法,我的getPrincipal也會始終返回null。

回答

3

如果您使用自己的身份驗證層,則需要將身份驗證信息注入ServletRequest。這通常是通過一個過濾器和HttpServletRequest來完成的。

您可以在CAS一個很好的例子,

http://www.jasig.org/cas 

下載源,並期待在這個類,

org.jasig.cas.client.web.filter.HttpServletRequestWrapperFilter