url重写

LINGO_Tecco 2008-08-29 07:06:56
我们公司的人事系统,而他还没登录就访问页面时,就会报错.但现在他不用登录直接在IE地址栏敲上附件的URL, 就能直接查看此附件的内容

,如http://.....我们公司的系统网址..../file/0/9/FA686229.ppt,他就能看到FA686229.ppt的内容。现在我想如果他还没登录就不准查

看/file/下面的所有内容,而跳到http://.....我们公司的系统网址..../wf/login.jsp。我用urlrewritefilter做,但一点反应都没有。以下

是我步骤:请各位达人帮我看看,请将你们的宝贵意见提出来, 明后两天休息, 周一回公司等你好消息....
1.将urlrewritefilter-2.6.zip放到/web-inf/lib/下面.
2.在web.xml中增加

<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>WARN</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

3. 将urlrewrite.xml放在与web.xml同一个目录下.
4.改动urlrewrite.xml 如下面:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
"http://tuckey.org/res/dtds/urlrewrite2.6.dtd">

<!--

Configuration file for UrlRewriteFilter
http://tuckey.org/urlrewrite/

-->
<urlrewrite>

<rule>
<note>
The rule means that requests to /test/status/ will be redirected to /rewrite-status
the url will be rewritten.
</note>
<from>/test/status/</from>
<to type="redirect">%{context-path}/rewrite-status</to>
</rule>


<outbound-rule>
<note>
The outbound-rule specifies that when response.encodeURL is called (if you are using JSTL c:url)
the url /rewrite-status will be rewritten to /test/status/.

The above rule and this outbound-rule means that end users should never see the
url /rewrite-status only /test/status/ both in thier location bar and in hyperlinks
in your pages.
</note>
<from>/rewrite-status</from>
<to>/test/status/</to>
</outbound-rule>

<rule>
<from>file/0/9/*.ppt</from>
<to>/wf/login.jsp</to>
</rule>
</urlrewrite>

...全文
115 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
philiplb 2008-09-24
  • 打赏
  • 举报
回复
楼主不知道在java里有没有Forms验证这一说法。
在.net环境下用户身份验证的模式设置为Forms,然后将你不想让匿名用户访问的文件夹设置为禁止访问即可。
这样就实现了url重定向到登录页面功能,呵呵
LINGO_Tecco 2008-09-01
  • 打赏
  • 举报
回复
我在web.xml增加 <filter>... </filter>和 <filter-mapping>... </filter-mapping>后,tomcat能启动也不报错,但login.jsp无法显示了,去掉此两段就一切正常.
麻烦大家指点一下...谢谢
<web-app>
.....

<filter>
<filter-name>uservisitlistener </filter-name>
<filter-class>com.eleceltek.wf.power.UserVisitListener </filter-class>
</filter>
<filter-mapping>
<filter-name>uservisitlistener </filter-name>
<url-pattern>/* </url-pattern>
</filter-mapping>


</web-app>

顺便附上我的UserVisitListener,.............
package com.eleceltek.wf.power;

import java.io.IOException;

import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class UserVisitListener {

public void destroy() {}

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,FilterChain filterChain) throws IOException, ServletException
{
HttpServletRequest request = (HttpServletRequest)servletRequest;
HttpServletResponse response = (HttpServletResponse)servletResponse;
String currentURL = request.getRequestURI();
String targetURL = currentURL.substring(currentURL.indexOf("/", 1), currentURL.length());
System.out.println("============"+targetURL);
HttpSession session = request.getSession();
if(session==null && (session.getAttribute("loginBean")==null ||session.getAttribute("user")==null) )
{
//response.sendRedirect(request.getContextPath() + "/login.jsp");
response.sendRedirect(" http://"+request.getHeader("Host")+"/login.jsp ");
return;
}
filterChain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {}

}
LeayAo 2008-09-01
  • 打赏
  • 举报
回复
呵呵,你把LONGIN.JSP页面也给映射进去了
先开始登录SESSION肯定是没值得
所以一直处于无限循环中
LOGIN页面就显示不出来了
建议你把登录后的JSP页面放在另一个目录下
然后FILTER映射写成/path/*
niansen 2008-08-29
  • 打赏
  • 举报
回复
是的,写个过滤器,让没登陆的,也就是session没值的,全都都让他转向login.jsp页面去!
  • 打赏
  • 举报
回复
写个过滤器得了。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧