跨域访问越权问题

我们都知道Internet通信协议可以分为有状态协议和无状态协议,而我们在WWW上进行的访问HTTP协议是一个无状态协议,这种协议无法将用户的一个请求与另一个关联,这样有怎么能让我们在网络购物的时候添加商品呢?!而会话可以被看成一个与单个用户相互关联的对象,会话跟踪技术可以帮助每个用户在Web应用程序中的特定数据,当然它也可以区分不同用户在同一个Web应用程序中的数据,这样我们就能使得我们的购物车中能有我们已经挑选过的商品了。
最经常的场景就是登录状态的控制,当我们登录一个网站时在这个网站下的不同页面都会显示登录信息,如果是未登录状态,网站后台还会对访问页面进行拦截,还能基于用户角色进行权限控制。这其中就是session对象在起作用,我们来看一下session对象介绍。
一、Session代表服务器与浏览器的一次会话过程,这个过程是连续的,也可以时断时续的。
二、Session只有被调用的时候才会被生成,不是会话建立的时候生成的。
三、session是有一定时效的,它是存在于服务器内存当中,并没有持久性。
四、session不会因为浏览器关闭而删除,只会主动删除或者时限到了而删除。
五、session可以作为一个容器,存储必要的信息比如登录信息。
六、session对象和cookie一样是无法跨域的。
可以看出当把用户登录信息写入session后,后台就能通过session来判断登录状态,但是当用户访问的不是同一个域的地址时就难以生效。也就是外部页面不能通过session对象来判断用户的登录状态,也就是这个页面就无法做未登录用户的拦截和权限的控制。
对于有多个子系统,要在不同系统之间跳转怎么办?别急,既然两个系统之间没法交互,就在访问的系统前边在设置一层系统,用户通过这一层系统进行登陆认证和页面转发,也就是所有的请求都通过这层系统进行,不过怎么做对原有的系统来说代价太大了,每一个涉及跳转地址都要修改,耦合性太大了,不利于维护单个子系统。
于是就有现在非常流行授权登录,在每次访问外部页面的时候对外系统进行授权登录,把登录信息登录到外系统,没有授权登录的用户进行拦截,不允许直接通过url访问外系统页面实现权限控制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值