在WEB上如何实现整个系统的单一入口
我在做一个STRUTS+HIBERATE+SPRING的项目中,要求设计一个前端控制器,实现整个系统的单一入口。
例如:我的项目中有1.jsp,2.jsp,3.jsp........,但是我们的在访问的时候不能直接访问这些文件,必须在访问时通过前端控制器判断当前用户的身份,权限是否越权使用,最重要的是控制不登陆就可以访问页面的情况的发生,我写了很多程序,但感觉总是不好,请问有什么先进的模式或者框架介绍么?不胜感激
问题点数:0、回复次数:12Top
1 楼DreamDragon_NEU(梦龙)回复于 2005-04-04 17:04:06 得分 0
曾经有个这方面的经验,但是不多
在每个需要身份验证的页面上加上一个用session做的过滤器
如果是通过登陆访问该页面的话,不过滤
否则过滤,不显示正常页面~~~Top
2 楼darkattack(居士)回复于 2005-04-04 17:08:52 得分 0
现在一般是个系统都会有用户校验的过程的,
一般就是在web.xml里定义把所有的HTTP请求映射到一个servlet,在这个servlet里进行用户权限校验等,然后再分发给HTTP请求实际请求的页面。
比如在IE里用户输入了http://host/2.jsp,服务器这边一定是先执行了上面提到的servlet,然后才把请求分发到2.jspTop
3 楼darkattack(居士)回复于 2005-04-04 17:10:01 得分 0
把jsp文件放到web-info目录下,浏览器就不可能直接访问到这些文件了。Top
4 楼jianghuxing(回头看看原来我一无所有)回复于 2005-04-04 17:19:24 得分 0
如:darkattack(居士)所言。Top
5 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-04-04 17:31:54 得分 0
这个问题解决办法很多
可以在jsp页面的<head>里面自己写一个验证身份的标签,我自己很喜欢这个办法
可以使用filter,过滤所有请求
可以把所有请求提交到同一个servlet,也就说写一个BaseAction,再里面验证Top
6 楼wywy3000(问题太多了)回复于 2005-04-04 18:02:14 得分 0
你们说的都对,我就是想大家讨论一下,什么样的方法最好,也最能体会单一入口的妙用Top
7 楼nocb(Hansen)回复于 2005-04-04 23:26:51 得分 0
据我所知也是用filter 过滤Top
8 楼zcjl()回复于 2005-04-04 23:32:14 得分 0
用filter最干净利落,^_^Top
9 楼discolt(枫)回复于 2005-04-05 01:17:33 得分 0
filter 过滤Top
10 楼wywy3000(问题太多了)回复于 2005-04-05 13:36:56 得分 0
filter如何来做?Top
11 楼watcher_shen(吉吾)回复于 2005-04-05 13:37:03 得分 0
写一个BaseAction,在里面验证——所有自己写的Action都继承这个类——也就不用都转到同一个servlet了。Top
12 楼watcher_shen(吉吾)回复于 2005-04-05 13:37:46 得分 0
当然,jsp得让用户不能直接访问。Top




