首页 > 代码库 > springmvc拦截器验证登录时间
springmvc拦截器验证登录时间
在前一篇【Filter实现用户名验证】的随笔里,记录了如何使用filter
这次增加了拦截器实现
①filter实现用户登陆时验证用户名是否为null
②interceptor实现用户登陆时时间判断,在时间段外不能进入系统
③在时间段外跳转到静态画面
难点在于怎么调到静态画面而不被filter给拦截住
最后用了下面的方法:
- <filter>
- <filter-name>SecurityServlet</filter-name>
- <filter-class>com.msm2.filter.MyFilter</filter-class>
- <init-param>
- <param-name>ignores</param-name>
- <param-value>/index</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>SecurityServlet</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- private String prefixIignores = null;
- public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
- throws IOException, ServletException {
- ......
- if (canIgnore(request)) {
- arg2.doFilter(request, response);
- return;
- }
- ......
- }
- @Override
- public void init(FilterConfig arg0) throws ServletException {
- encode = "utf-8";
- String cp = arg0.getServletContext().getContextPath();
- String ignoresParam = arg0.getInitParameter("ignores");
- prefixIignores = cp + ignoresParam;
- }
- @Override
- public void destroy() {
- prefixIignores = null;
- }
- private boolean canIgnore(HttpServletRequest request) {
- String url = request.getRequestURI();
- if (url.startsWith(prefixIignores)) {
- return true;
- }
- return false;
- }
- <mvc:interceptors>
- <!-- 多个拦截器,顺序执行 -->
- <!-- 拦截器1 登陆拦截 -->
- <mvc:interceptor>
- <mvc:mapping path="/login" /><!-- 可以写多个,如果为/*,将拦截所有的Controller -->
- <bean class="com.msm2.interceptor.LoginInterceptor">
- <!--startTimeStr 属性指定允许登陆的开始时间-->
- <property name="startTimeStr">
- <value>7:00:00</value>
- </property>
- <!--endTimeStr 属性指定允许登陆的结束时间-->
- <property name="endTimeStr">
- <value>21:00:00</value>
- </property>
- <!--outTimePageUrl 属性指定不在时间范围内时,提示页面的URL-->
- <property name="outTimePageUrl">
- <value>http://localhost:8080/msm2/index/index.jsp
- </value>
- </property>
- </bean>
- </mvc:interceptor>
- </mvc:interceptors>
终于实现了不拦截静态画面了
将工程源码给出,希望给在springmvc学习路上的朋友有所帮助。
貌似zip没法共享。
springmvc拦截器验证登录时间
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。