SESSION应用的一个场合
Session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。每
一访问者都会单独获得一个Session。在Web应用程序中,当一个用户访问该应用
时,Session类型的变量可以供这个用户在该Web应用的所有页面中共享数据;如
果另一个用户也同时访问该Web应用,他也拥有自己的Session变量,但两个用户
之间无法通过Session变量共享信息,而Application类型的变更则可以实现站点
多个用户之间在所有页面中共享信息。
SessionID属性
该属性返回当前会话的唯一标志,为每一个Session分配不同的编号。
我曾在开发过程中就遇到对用户的控制问题。它要实现的功能就是,针对某
个网站的一个模块,当一个会员登录后正在看此模块时,另一个人用同样的会员
名登录,就不能浏览这个模块。也就是说一个会员名同时只能一个人浏览此模块
。我通过用会员名(假设为UserID,唯一)和SessionID来实现了控制。当会员
登录时,给这个会员一个Session记录登录状态如:Session("Status")="Logged
",同时把这个会员的Session.SessionID写入数据库。当他要浏览此模块时,先
判断其是否登录,若已经登录再判断它的SessionID是否与数据库记录的相同,
如果不同则不能访问。这样,当另一个用户用相同的会员名登录时,那么数据库
中记录的就是新的SessionID,前者访问此模块时就不能通过检查。这就实现了
一个会员名同时只能一个人浏览某个模块。这个功能在一些收费网站有很有特别
作用,它防止了一个会员名给多个人浏览的问题,为公司保障了利益。
SESSION应用的一个场合的更多相关文章
- 用redis来实现Session保存的一个简单Demo
现在很多项目都用Redis(RedisSessionStateProvider)来保存Session数据,但是最近遇到一个比较典型的情况,需要把用户数据全部load到redis里面,在加上RedisS ...
- 解决session只能被一个浏览器访问的问题
做购物车的时候,我们都知道购买的东西会保存到session中,但是光这样简单的保存起来就会带来一个问题,只能呢被同一个浏览器访问到,如果用户使用不同的浏览器进行访问网页的话肯定是会出问题的.下面就来针 ...
- JSP中,EL表达式向session中取出一个attribute和JSP脚本访问session取出一个attribute,写法有何不同?(转自百度知道)
EL表达式使用起来会更简洁,假如session中有一个属性A(attrA),那么EL和jsp脚本取值的方式如下: EL表达式:${ sessionScope.attrA } JSP脚本:<%=s ...
- PHP使用Session遇到的一个Permission denied Notice解决办法
搜索 session.save_path 在这里你有两个选择,一个是像我一样用; 把这一行注释掉,另一个选择就是修改一个 nobody 用户可以操作的目录,也就是说有读写权限的目录,我也查了下这个默认 ...
- 配置进程外Session 同时解决一个奇怪的BUG 因为SQLserver 服务器名不是默认的.或者localhost而引发的一系列问题
用公司的电脑学习如鹏网的视频,开发一个项目,用到了进程外session,因为公司电脑SQLServer 是2008 服务器名称是. 然后参考这篇文章进行设置进程外session 很顺利 完成了设置. ...
- php 不能取得session值的一个解决方法
1.确认下<?php session_start(); ?> 这句话是不是在<HTML> 标志之前. 不在的话,请放到<HTML> 标志之前. 2.如果上面操作后 ...
- SpringBoot学习笔记(13)----使用Spring Session+redis实现一个简单的集群
session集群的解决方案: 1.扩展指定server 利用Servlet容器提供的插件功能,自定义HttpSession的创建和管理策略,并通过配置的方式替换掉默认的策略.缺点:耦合Tomcat/ ...
- 如何设置一个严格30分钟过期的Session(转载)
本文地址: http://www.laruence.com/2012/01/10/2469.html 今天在我的微博(Laruence)上发出一个问题: 我在面试的时候, 经常会问一个问题: &quo ...
- 如何设置一个严格30分钟过期的Session
今天在我的微博(Laruence)上发出一个问题: 我在面试的时候, 经常会问一个问题: “如何设置一个30分钟过期的Session?”, 大家不要觉得看似简单, 这里面包含的知识挺多, 特别适合考察 ...
随机推荐
- 让Category支持添加属性与成员变量【转载】
Category是Objective-C中常用的语法特性,通过它可以很方便的为已有的类来添加函数.但是Category不允许为已有的类添加新的属性或者成员变量. 一种常见的办法是通过runti ...
- android requestLayout()重新请求布局
在应用中有时会遇到,例如你listView 的设置的高度为warp_content 自适应,listView下方有个TextView但如果你删了一个listView的item 我们希望下面的TextV ...
- android 小游戏之数字猜猜
http://www.cnblogs.com/whatbeg/p/4152333.html
- 走进Struts2(五)— 值栈和OGNL
值栈 1.值栈是什么? 简单说:就是相应每个请求对象的轻量级的内存数据中心. Struts2引入值栈最大的优点就是:在大多数情况下,用户根本无须关心值栈,无论它在哪里,不用管它里面有什么,仅仅须要去获 ...
- MyEclipse中Save could not be completed
在MyEclipse下编程时,保存的时候,假设出现例如以下图所看到的错误: - 刘立 - 707903908的博客" src="http://img0.ph.126.net/9y4 ...
- JS中setInterval、setTimeout不能传递带参数的函数的解决办法
在JS中无论是setTimeout还是setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必须要带参数,这就需要想方法解决. 一.采用字符串形式:——(缺陷)参数不能被周期性改 ...
- Node-Webkit - package.json - 参数设置
必填: main :(string)APP的主入口,指定一个html文件,如:main:"index.htm". name :(string)APP的名称,必须具有唯一性. 例子: ...
- IOS超强表格控件GMGridView
本文转载至 http://zyc-to.blog.163.com/blog/static/1715240020124235837247/ 介绍: iOS为我们提供UITableView类,实现了项目的 ...
- LINQ分页工具
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Co ...
- Lorenzo Von Matterhorn(STL_map的应用)
Lorenzo Von Matterhorn time limit per test 1 second memory limit per test 256 megabytes input standa ...