web项目 不允许没登录的进入系统页面

问题描述

开发web项目的时候,要设置已经登录的用户才能进入系统,不运行直接通过页面的地址直接访问,那该怎么做?请大家支支招.... 问题补充:没登录的用户会返回登录页面

解决方案

你可以在系统中使用Filter技术。Filter 技术是servlet 2.3 新增加的功能。servlet2.3是sun公司于2000年10月发布的,使用它可以改变一个request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在response离开servlet时处理response.换种说法,filter其实是一个“servlet chaining“(servlet 链).一个filter 包括:1. 在servlet被调用之前截获;2. 在servlet被调用之前检查servlet request;3. 根据需要修改request头和request数据;4. 根据需要修改response头和response数据;5. 在servlet被调用之后截获.你能够配置一个filter 到一个或多个servlet;单个servlet或servlet组能够被多个filter 使用。几个实用的filter 包括:用户辨认filter,日志filter,审核filter,加密filter,符号filter,能改变xml内容的XSLT filter等。一个filter必须实现javax.servlet.Filter。下面给出我项目中的未登录过滤的代码:public class CheckLoginFilter implements Filter{ public void init(FilterConfig arg0) throws ServletException { } public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest)arg0; HttpServletResponse response = (HttpServletResponse) arg1; User user = (User)request.getSession().getAttribute("loginUser"); if(user==null){ response.sendRedirect(request.getContextPath()+"/common/noSessionPage.jsp"); //返回重新登录界面 return; } arg2.doFilter(arg0,arg1); } }web.xml <filter> <description>登录验证拦截</description> <filter-name>loginCheckFilter</filter-name> <filter-class>com.xxx.auth.CheckLoginFilter</filter-class> </filter> <filter-mapping> <filter-name>loginCheckFilter</filter-name> <url-pattern>/sys/*</url-pattern></filter-mapping> <filter-mapping> <filter-name>loginCheckFilter</filter-name> <url-pattern>/pub/*</url-pattern></filter-mapping>
解决方案二:
我就说嘛!让你用拦截器!晓得啥子叫拦截器?
解决方案三:
使用struts的过滤器就好了,不必那么复杂的。
解决方案四:
如果仅仅是登录认证用 @shuaijie506 的方案.再复杂点, 需要权限控制, url过滤.推荐Apache Shiro.用了之后, 你会发现如此简单。
解决方案五:
简单点 session 控制 复杂点的 apache shiro 谁用谁知道
解决方案六:
你用的什么框架?加入拦截器就欧了
解决方案七:
要想做到最大化的安全,试试spring security安全框架。
解决方案八:
既然你使用的是struts2,可以讲jsp资源放到WEB-INF下,这样会增加资源的安全性,迫使用户只能通过action去访问,直接在导航栏输入jsp资源的名称是无法访问的,同事结合struts2的是拦截器进行判断,判断session是否为空,如果为空也就是说明没有登录,不允许访问,如果session不为空,还要检查当前用户是否有访问该资源的权限,如果没有也不允许访问
解决方案九:
可以通过session控制,在访问页面时发现session中登陆信息为空,则自动跳转到登陆页
解决方案十:
把所有jsp页面都放在/WEB-INF/目录下,能防止网页直接访问jsp页面,直接访问会报资源找不到,用户只能通过action跳转进去。当然,可以留一个login.jsp或者index.jsp在/WEB-INF外用来直接访问。

时间: 2024-10-31 14:14:49

web项目 不允许没登录的进入系统页面的相关文章

java web项目。每个用户登录都会开启几个线程,这样登录用户多了会不会导致线程太多

问题描述 java web项目.每个用户登录都会开启几个线程,这样登录用户多了会不会导致线程太多 使用的socket通讯,一个用户登录都开启一个socket并无限接收或发送报文信息,如果登录用户超过一定数量线程是否会达到服务器可开启的线程数?,如果会,该怎么优化?实在没有分了,求各位帮忙 解决方案 如果你用的是Tomcat的话,那么它默认的处理请求的方式就是开启线程去处理用户请求的,所以当用户数量达到Tomcat的最大并发数临界时,它就会拒绝再处理超额的请求了,而且这种方式是socket阻塞模式

WEB项目(B/S系统)打包安装(总结篇)

原文:WEB项目(B/S系统)打包安装(总结篇)打包安装程序的制作选择性还很多的,有installshield,wise installer,inno setup这几个做打包安装项目都是很强大的,要搞出界面大气个性化的安装,还是得用这几个才行,我这篇说的是.NET自带的安装项目打包WEB系统的,.NET打包安装项目虽然傻傻的,也比较丑,但是搭建安装项目快速也能满足总体的要求,如果没有足够的时间研究重量级的安装工具,短时间内用.NET自带的安装项目也是一个良好的选择.网上有很多关于用.NET打包W

java web项目部署之后,运行几天会不正常,登录页面可以打开,但是进行任何数据库操作都会特别卡

问题描述 java web项目部署之后,运行几天会不正常,登录页面可以打开,但是进行任何数据库操作都会特别卡 java web项目部署之后,运行几天会不正常,登录页面可以打开,但是进行任何数据库操作都会特别卡,比如登录. 查了tomcat日志,宕机前只有一个MySQLSyntaxErrorException错误 大神分析一下 还有没有需要提供的东西?? 用的是java,tomcat7,springmvc,spring3.0,hibernate,mysql 解决方案 数据库连接使用完成后有没有关闭

hibernate-Maven test一个Web项目,报错,弄了一天没弄好,求高手解答

问题描述 Maven test一个Web项目,报错,弄了一天没弄好,求高手解答 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultServletHandlerMapping' defined in class path resource [org/springframework/web/servlet/config/annotation/Delegating

java web-JAVA WEB项目求助。简单的登录用户界面

问题描述 JAVA WEB项目求助.简单的登录用户界面 简单的登录界面,实现注册帐号,修改密码,忘记密码后修复密码. 需要使用后台与数据库的交互. 求教各位大神,1.搭什么样的环境比较好.求文章分享. 2.类似的文章讨论过的项目. 谢谢各位大神. 解决方案 用最简单的jsp就可以 参考:http://download.csdn.net/detail/mlh115101/2879187 无非都是最基本的数据库的增删改查. 解决方案二: http://wenku.baidu.com/link?url

web项目部署到websphere上出错,部署到tomcat上没问题

问题描述 web项目部署到websphere上出错,部署到tomcat上没问题 为了简单化问题,特意写了有一个servlet,页面就一句hello的测试小项目, websphere安装完之后也无法访问,直接访问项目名的话是这个样子 访问具体页面的话提示这样 我的版本是was7,百度上查找了几天也没个有效的办法,求大师指点一下是哪里出了问题,感激不尽 解决方案 已解决 我的编译器jdk版本高于服务器的版本 所以出错 重新用低版本jdk编译之后问题解决了 希望遇到相同问题的可以排除这方面的原因 解决

Intellij IDEA 构建Spring Web项目 — 用户登录功能

原文:Intellij IDEA 构建Spring Web项目 - 用户登录功能 相关软件: 1.Intellij IDEA14:http://pan.baidu.com/s/1nu16VyD 2.JDK7:http://pan.baidu.com/s/1dEstJ5f 3.Tomcat(apache-tomcat-6.0.43):http://pan.baidu.com/s/1kUwReQF 4.MySQL(mysql-essential-5.1.68-winx64):http://pan.b

jsp-java web项目初学者刚就业想找个师傅请教一些问题,有人愿意教我么

问题描述 java web项目初学者刚就业想找个师傅请教一些问题,有人愿意教我么 公司师傅交给我一个项目,做一个web项目,功能如下,好像蛮难的 1.主要功能实现公司产品展示,新版本发布通知,问题及处理方式收集等 2.主要界面显示 a)首页:显示产品大目录(可利用图片方式展示),展示不同的产品 显示产品相关通知信息 显示账号入口 b)首页链接页面说明 产品大目录,可点击查看该对应产品的详细信息: 产品通知,可以点击查看对应条目的详细信息,可以通过更多项进入通知专属页面,该页面提供通知条目目录,关

tomcat-关于java web项目的发布

问题描述 关于java web项目的发布 用IDEA开发了一个基于bootstrap的maven项目,本地测试工具是IDEA+tomcat,本地测试时bootstrap框架能加载,登录也没有问题.项目打包成war包,再放到其他电脑上使用tomcat发布后,bootstrap框架加载失败,登录按钮也不响应. 解决方案 我最近也有这个问题,看看后台有没有报错,有时候打包成war文件,会有部分代码消失,你看看后台信息 解决方案二: 具体看看什么原因,bootstrap 是不是没有加载进来. 解决方案三