关于filter页面控制访问权限问题....

问题描述

最近小弟遇到了一个问题,就是关于用户如果没有登入就返回首页,这个问题用filter已经解决,但是随之有出现了这样的问题,就是说,当用户进入首页,也会被filter拦截,这也没问题,但是这个时候的css样式,图片都被过滤掉,小弟想了好久也没有办法解决。。请大家看看,帮帮忙,下面是filter中的部分代码。。(怎么让那些图片,样式能够正常使用,怎样用过滤器放行那些样式,图片????)publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsIOException,ServletException{HttpServletRequestreq=(HttpServletRequest)request;HttpServletResponseresp=(HttpServletResponse)response;resp.setContentType("text/html;");resp.setCharacterEncoding("utf-8");HttpSessionsession=req.getSession();PrintWriterout=resp.getWriter();//得到用户请求的URIStringrequest_uri=req.getRequestURI();//得到web应用程序的上下文路径StringctxPath=req.getContextPath();//去除上下文路径,得到剩余部分的路径Stringuri=request_uri.substring(ctxPath.length());//判断用户访问的是否是登录页面if(uri.equals("/index.jsp")){chain.doFilter(request,response);return;}else{//如果访问的不是登录页面,则判断用户是否已经登录if(null!=session.getAttribute("user")&&""!=session.getAttribute("user")){chain.doFilter(request,response);return;}else{out.println("<scriptlanguage="javaScript">"+"parent.location.href='"+ctxPath+logon_page+"'"+"</script>");return;}}}

解决方案

解决方案二:
在web.xml里面定义你需要filter的path,比如<filter-mapping><filter-name>xxx</filter-name><url-pattern>*.do</url-pattern></filter-mapping>
解决方案三:
我写了,在者我用的是struts2,我过滤的是用jsp页面,action是用拦截器来做的,现在的问题是怎么样让样式,和图片显示,
解决方案四:
那个过滤器只过滤以.do结尾的请求,css图片是不会被过滤的!
解决方案五:
路径呢,你或者把css,图片路径放在别的地方啊。
解决方案六:
在filter中配置只拦截jsp和*.do,对于一些静态文件不要走filter拦截了。
解决方案七:
resp.setContentType("text/html;");resp.setCharacterEncoding("utf-8");这个别在这写,你把response的类型全改成html了
解决方案八:
既然是登陆的控制,应该对整个context做保护,一般url-pattern应该设成/*我感觉楼主好像就是这么设置的,所以取css,image的时候也通过这个filter了
解决方案:
<%Stringbase=getServletContext().getContextPath();%><imgsrc="<%=base%>/images/xxx.jpg">
解决方案:
1.你可以让filter只拦截.do和.jsp的请求。2.也可以在filter中进行判断用户请求的url地址,甚至是对某些公共的页面进行进行放行。

时间: 2024-09-20 01:09:48

关于filter页面控制访问权限问题....的相关文章

Ruby on rails开发从头来(windows)(十七)-控制访问权限

上次我们实现了登录的页面,现在我们区别管理员和普通用户,根据用户的不同身份,转入到不同的页面 在rails中提供了filter来截获访问某个action的请求,可以用filter在action被调用前或调用后添加我们自己的处理.在这里,我们在admin的controller中的action被调用前添加拦截器.如果是管理员,就进入管理页面,如果是普通用户,就进入登录页面. 1.在application.rb中给ApplicationController类添加authorize方法,代码如下: de

只需一步:创建oss bucket并控制访问权限

本文介绍怎样利用阿里云资源编排服务(ROS),一步创建阿里云资源(以OSS为例).创建多个子帐号,并付给子帐号不同的资源访问权限. 先试为快,一步创建 >> 资源编排的RAM功能介绍 阿里云资源访问控制服务(RAM),帮助您把不同的资源权限分配给特定的用户(比如员工.系统或应用程序),达到最小特权的安全实践.例如,授权某个子用户管理两台指定的ECS实例. 资源编排服务按照三种粒度进行访问控制: ALIYUN::RAM::User 给当前账号创建子账号,同时给子帐号指定授权策略 ALIYUN::

Nginx列出目录和文件并用密码控制访问权限配置方法_nginx

这篇文章介绍怎样用web服务器列出指定的目录和文件,并对指定目录进行授权访问. 使用Nginx列出目录 准备工作 - 安装nginx和创建一些目录和文件: 复制代码 代码如下: $ sudo apt-get install nginx $ cd /usr/share/nginx $ mkdir web $ sudo mkdir directory{1,2,3} $ sudo touch file{1,2,3} $ ls directory1  directory2  directory3  fi

nginx用cookie控制访问权限实现方法

 代码如下 复制代码 server {        server_name  a.b.com; ... location /c/ {  if ($http_cookie !~* "d=e(;.*|$)"){  rewrite (.*) /f.html break;}  } ... } 这样就解决了问题哦.

Angularjs中的页面访问权限怎么设置_AngularJS

在以往的项目中,前后端常见的配合方式是前端提供页面和ui加一点DuangDuangDuang的效果,后端搭建框架数据结构和数据交互(数据交互前后端有交集),不管是.net.java or php都能一对多的提供前端服务,然而在新形式下项目中运用了前端框架,开发情况就不一样了,比如我要说的这是在angular框架下完成的开发,模式是后端提供服务和api文档,页面和数据交互及逻辑处理由前端完成,前端俨然是个完全的programer了,这个过程中就会遇到之前意想不到的问题(如果没有做过后端开发),比如

Apache服务器配置Web页面访问权限

  本文介绍在Linux+Apache上的实现方法: 1.修改http.conf 假设你想控制/usr/local/apache/htdocs下各目录的不同访问权限,你可以在与之间加入一行: AllowOverride All 意思是在/usr/local/apache/htdocs下不同目录的访问权限由该目录下的.htaccess文件来控制,而且不同目录的权限策略可互相覆盖. 2.编辑你想要控制的目录下的.htaccess文件 假设你的phpmyadmin目录在/usr/local/apach

关于Web.config中控制用户访问权限的问题!

问题描述 我在Web.config中对各个用户或者角色对某个路径的设置在调试中正常,但在iis中发布中发现必须设置某种文件(如txt文件)的映射才能有效控制权限!但是实际应用中涉及的文件类型千变万化,我不可能一个个手动设置啊!请问有没有通用的方法? 解决方案 解决方案二:这样设计权限的初衷?解决方案三:可以用用户权限组做解决方案四:用户权限组具体怎么做?<?xmlversion='1.0'encoding='utf-8'?><configuration><system.web

Liferay中在页面上进行权限控制

在Liferay中,如果我们想要在页面上进行权限控制,比如只有指定权限的用户能看到一些内容,那么我们可以用Liferay预定义的user对象来获取这个对象所拥有的权限,然后再控制页面的显示. 为了在liferay页面上使用user对象,我们必须加入标记库: <liferay-theme:defineObjects/> 然后我们可以在页面上,直接使用user对象,来控制权限,比如我们可以将当前用户是否为管理员用户的存入到一个布尔变量中,如下: <!-- charles:determine

第6章 访问权限控制

引言:访问权限(或隐藏具体实现)与"最初的实现并不恰当"有关. 先了解两个概念: 封装(encapsulation),即隐藏对象的属性和实现细节,仅对外公开接口. 重构(Refactoring),就是通过调整程序代码改善软件的质量.性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性. 程序员分为两类,类库的消费者和类库的开发者,类库的消费者希望类库出现新版本的时候,他们并不需要改写他们的代码,而类库的开发者则必须有权限对类库进行修改和改进,而不影响客户端程序员. 这就要求