实现WebDAV Servlet的身份验证

时间:2009-10-01 07:47:12

标签: java webdav

我目前正在使用this WebDAV Java Servlet实现,据我所知,最小和最容易使用的WebDAV Java解决方案不依赖于Tomcat(使用WebLogic)。

所以我想扩展它以使用我的底层安全层,它有点使用数据库连接来验证用户。

我的问题是,这是否可行? HttpServletRequest甚至可以获得身份验证吗?

考虑以下方法标题:

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

现在我想使用req.getPrincipal来获取包含用户名和密码的用户主体。但是,即使我将WebDAV客户端设置为Windows身份验证或其他任何内容,我的getPrincipal也始终返回null。

1 个答案:

答案 0 :(得分:3)

如果您使用自己的身份验证层,则需要将身份验证信息注入ServletRequest。这通常通过过滤器和包装的HttpServletRequest来完成。

你可以在CAS中找到一个很好的例子,

http://www.jasig.org/cas

下载源代码并查看此课程

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