当用户登录系统后,如何禁止通过地址栏直接访问后台.如XXX.do或XXX.action

解决方案 »

  1.   

    把你的 页面 放到 web-inf下
      

  2.   

    在第一个JSP页面里面传一个Session,每个页面检验Session的值,根据Session的值重定向。
      

  3.   

    直接屏蔽URL地址栏,只能通过链接跳转
      

  4.   

    Struts 有没有能限制某个 url 只使用 post 方法的?
      

  5.   

    楼主直接写一个过滤器,在web.xml中配一下,网上的例子很多。
      

  6.   

    什么意思?楼主的意思貌似是 不让通过url来访问后台
      

  7.   

    控制层用的是什么,servlet?要是的话就好办了,不是的话就的写过滤器了,或是在没一个页面启动时判断一下迁移原画面是那个画面,(从request中就可以取到),如果不是指定的页面就不让画面启动。
      

  8.   

    可以啊,自定义ActionServlet,覆盖其中的doGet方法,直接抛出HTTP 403
      

  9.   

    用户已成功登录系统,session中已经保存了用户的信息,session过滤器什么的还能起什么用....
      

  10.   

    用户已成功登录系统,session中已经保存了用户的信息,session过滤器什么的还能起什么用....
      

  11.   

    用户已成功登录系统,session中已经保存了用户的信息,session过滤器什么的还能起什么用....
      

  12.   

    用户已成功登录系统,session中已经保存了用户的信息,session过滤器什么的还能起什么用....
      

  13.   

    filter判断session取出来的User是否为空
      

  14.   


    先去学习一下什么是Get和Post
      

  15.   

    你们怎么这么不认真审题再回答我...
    再说一遍:    用户已成功登录系统,如何禁止通过地址栏直接访问后台???
        session中已经成功保存了用户的信息,过滤器你能过滤什么呢??????
      

  16.   

    你们怎么这么不认真审题再回答我...
    再说一遍:  用户已成功登录系统,如何禁止通过地址栏直接访问后台???
      session中已经成功保存了用户的信息,过滤器你能过滤什么呢??????
      

  17.   

    你们怎么这么不认真审题再回答我...
    再说一遍:  用户已成功登录系统,如何禁止通过地址栏直接访问后台???
      session中已经成功保存了用户的信息,过滤器你能过滤什么呢??????
      

  18.   

    呵呵,是啊,我也纳闷,都已成功登陆,过滤什么?用request.getHeader("referer")来判断
      

  19.   

    ...不要打击新手,虽然这样可以减少程序员的人数,以提高程序员的工资.但是这样不太好。
    除了屏蔽地址栏之外...很难有别的方法了。 按照楼主的意思。你原本是不想别人输入正确的路径访问你的后台系统吧?如果这样的话你可以做权限管理。没有授权的用户无法访问特点的url。url访问网站是透明的。即使不通过浏览器访问你的后台系统。那也可以以 socket的方式访问相应的url
      

  20.   

    楼主直接写一个过滤器,在web.xml中配一下,网上的例子很多。
      

  21.   

        +1  !能判断是不是合法用户,如果通过URL地址去访问,session里面就没有用户信息,这样用户就不是和法的登录,直接一个条跳转到登录页面就OK了! 
     
        个人意见
      

  22.   

    在登陆的JSP页面里面传一个Session,每个页面检验Session的值,根据Session的值重定向。
      

  23.   

    使用过滤器 或者 在jsp中使用session值来判断,
    个人推荐使用过滤器更加方便
      

  24.   

    LZ的问题很牵强。
    1.当用户登录系统后,如何禁止通过地址栏直接访问后台.如XXX.do或XXX.action,这句话难道 是可以通过地址栏直接访问jsp?如果这样做。大可以除了 首页,其他的都放在web-inf下,至于do,action的禁止,不可能的,你在jsp页面里只要有跳转那么就会更改地址栏的访问,即使你是iframe也是一样的道理,而且禁止这些访问没什么必要,你只要做好权限管理就可以了。
    2.一般的做法 禁止直接访问所有的jsp,包括首页。全部使用action,do的后台跳转访问。这样有利于业务逻辑的部署,最后控制action,do的访问权限。可以细粒度到 每一个方法 。具体的权限设置,不说了,回答很多次了。
      

  25.   

    晕很多人都没完全搞懂楼主的问题,悲哀。楼主的意思其实是 他将连接地址屏蔽了,但用户还是可以通过在地址栏输入连接来进行访问,这和把试图页面放在web-inf下没啥关系,关键是action他可以直接输入访问解决方案:1. 页面上,后台屏蔽地址栏显示,这个很好办,一般的系统都会这样做。
    2. 说到底这个是权限设计的问题,你拦截资源的url就行了。 要么自己写个小权限控制,或者已经有的spring security安全框架来做。关键是你的权限。一般权限设计,在表现层上 都是将不属于自己的权限的连接屏蔽掉不显示,在逻辑层面上,设计过滤器或者拦截器来对资源URL进行拦截,这些很多成熟的安全框架都已经有了。
      

  26.   

    我想问楼主、你怎么知道用户虽然已经登录过了,过滤器就不在能拦截非法的url?难道过滤器只可以判断用户是否登录这些东西?你自己写过没有?如果写了就粘出来我们看看吧、如果没有你怎么说明我们是错的?
      

  27.   

    前台用脚本把浏览器地址栏关了,后台只接受post方式。
      

  28.   

    41楼[magicluo]是个细心的程序员,这样的人才适合当程序员!!
    谢谢 [magicluo] 的建议!!
      

  29.   

    做个例证: 首先通过action 跳转到一个页面。此url:http://localhost:8080/personalPage/user/homePage?userName=lisi
    由于是post提交的方法所以到另一个页面的时候地址栏变为:
    http://localhost:8080/personalPage/user/homePage
    这个地址栏中就缺少userName这参数  那么用户直接访问http://localhost:8080/personalPage/user/homePage
    这个地址可以直接和后台交互。问题出来了,前一个有参数后一个没参数  跳的是同一个页面,页面的值
    就会产生变化。
    要解决的问题就是  当他访问跳转后的地址 时候 页面保持不变。