为了体系化控制用户登录,做粗粒度的认证登录,可以采用应用层的拦截器或过滤器来实现。经验证测试发现只有struts和spring在自身层面上支持,不能同时支持各种请求拦截,为此考虑粗粒度处理,因此考虑使用filter机制,基本上jsp,servlet,struts均能够被拦截到。
小例子如下(TestFilter.java):
public class TestFilter implements Filter
{
public void doFilter(ServletRequest srt, ServletResponse sre,
FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)srt;
HttpServletResponse response = (HttpServletResponse)sre;
String name= (String)request.getSession().getAttribute("name");
System.out.println(name+" "+(iGobal++));
if( name== null || name.trim().length() < 1) {
filterChain.doFilter(request, response);
}else {

本文探讨了如何利用拦截器和过滤器实现Web应用程序的单点登录控制。通过一个小例子展示了如何创建一个Filter实现登录检查,当用户未登录时重定向到登录页面。此外,配置了相应的web.xml文件,确保所有请求都能被过滤器捕获。

556

被折叠的 条评论
为什么被折叠?



