C#WEB用到Session["value"] 如何配置它的时限及保密工作?

问题描述

Session["value"]="true";直接赋值了,这个是COOKIE吧,C#里边是哪里设置它的过期时限的?是在WEB。CONFIG还是在IIS具体是哪一行,如何写?SESSION安全吗? 需要加密吗?  哪何加密保存?  SESSION[“VALUE”]=MD5。(TEXT)???请指导一下。  我是想在网站中存一个访问变量。这个变量是用户在登录了网站后, 使用到一些功能才录入的一个保护码。  我希望这个SESSION 值能随着用户登录验证成功后一同使用,直到用户验证失效过期,它就跟着过期。

解决方案

解决方案二:
SESSION不是COOKIE,只是SESSIONID存放在COOKIE里面所有数据都是存放在SERVER上面的设置时限在IIS和WEB.CONFIG里面都可以SESSION是安全的但是占用服务器端内存
解决方案三:
引用1楼的回复:

SESSION不是COOKIE,只是SESSIONID存放在COOKIE里面所有数据都是存放在SERVER上面的设置时限在IIS和WEB.CONFIG里面都可以SESSION是安全的但是占用服务器端内存

如何设置,给代码出来。如果按你这样说来,SESSION随着在线用户量的增加,会点用服务器内存,那么在这种情况下,我还有什么选择?如果每个登录用户都要带一个变量在身来验证它的身份的话。象我用web.config的角色进行管理;当我身份验证成功后,当用户使用特定功能,我能不能增加一个角色我就可以以角色进行判断了。因为登录的用户并不一定非要操作这个功能,但为了安全又得多设一个录入验证的功能。我发我的代码,你们大家一看就明白了。我在各文件夹用角色进行控制就很好了。Global.asax里的protectedvoidApplication_AuthenticateRequest(Objectsender,EventArgse){HttpApplicationapp=(HttpApplication)sender;if(app.Request.IsAuthenticated){System.Data.SqlClient.SqlConnectioncon=newSystem.Data.SqlClient.SqlConnection();System.Data.SqlClient.SqlCommandcmd=newSystem.Data.SqlClient.SqlCommand();con=newSystem.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ToString());stringid=Context.User.Identity.Name;stringsql="selectJSfromB_YHGLBwhere(YHM='{0}')";sql=string.Format(sql,id);cmd=newSystem.Data.SqlClient.SqlCommand(sql,con);con.Open();stringids=string.Empty;try{System.Data.SqlClient.SqlDataReaderdr=cmd.ExecuteReader();if(dr.Read()==true){System.Security.Principal.GenericPrincipalppal;ids=dr["JS"].ToString();//ids+=','+dr["MC"].ToString();string[]roles;roles=ids.Split(',');ppal=newSystem.Security.Principal.GenericPrincipal(Context.User.Identity,roles);Context.User=ppal;}else{Context.User=null;}}catch{throw;}finally{con.Close();}}
解决方案四:
IIS中设置SESSION:选择网站》会话状态》超时占用服务器内存确实是这么说但是你完全可以根据单个SESSION中存放的对象大小估算一个用户占多少内存然后再来取舍
解决方案五:
引用3楼的回复:

IIS中设置SESSION:选择网站》会话状态》超时占用服务器内存确实是这么说但是你完全可以根据单个SESSION中存放的对象大小估算一个用户占多少内存然后再来取舍

我还是不用SESSION了,因为我的用户量想来会大的。十万。。。二十万。。。。晕

时间: 2024-07-31 11:26:56

C#WEB用到Session["value"] 如何配置它的时限及保密工作?的相关文章

Asp.net中如何处理一个站点不同Web应用通用Session的问题

asp.net|session|web|问题|站点 Asp.net中如何处理一个站点不同Web应用通用Session的问题 1.问题描述: 系统S中有M1,M2,M3,M4四个模块,每个模块都是一个web应用.其中一个模块中设置Session后在其他模块中无法读取. 2.问题原因: 一个WEB应用相当于一个站点,应用与应用之间不可能共享Session. 3.解决方法: 1) 将四个web应用包含在同一个解决方案中,如图所示: 实际目录存储结构如下: (注:调整.webinfo文件使解决方案能构正

退出登录-java web 不使用session 判断用户在线的问题

问题描述 java web 不使用session 判断用户在线的问题 我现在有个页面有一个聊天功能,类似于QQ那样的,现在要显示我的好友的登录 状态,不让能用session,我怎么能够判断用户是否在线呢? 我的想法是在数据库存一个字段,用来记录用户登录状态,但是这样的话有个问题, 就是当用户正常退出.关闭浏览器.清空缓存的时候都是退出操作,我怎么能判断推出了呢?求大神指教! 解决方案 为什么不能用session呢? 是不是可以考虑用缓存技术,来保存用户的登陆状态呢? 解决方案二: 貌似不行...

web服务器集群(多台web服务器)session同步、共享的3种解决方法_Linux

在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,一个登录用户,一会是登录状态,一会又不是登录状态.所以本文就根据这种情况给出三种不同的方法来解决这个问题: 一.利用数据库同步session 在做多服务器session同步时我没有用这种方法,如果非要用这种方法的话,我想过二种方法: 1,用一个低端电脑建个数据库专门存放web服务器的session,或者,把这个专门的数据库建在文件服务器上

解决web.py使用session时报错AttributeError问题

最近在学习web.py使用session时,经常会遇到AttributeError错误,大体报错内容是: AttributeError: 'ThreadedDict' object has no attribute 'xxxxx' 网上找的解决办法都是关闭web.py的调试模式,但有时关闭后也会报错,很是郁闷. 最后郑晓摸索出了使用session时需要注意的几点,在这里记录一下: 1. 首先请关闭调试模式: web.config.debug = False 代码需加到import web后,调用

jsp truts-<div class="error_mes">${message}</div>

问题描述 <div class="error_mes">${message}</div> ${message}什么意思?${message}通常在哪实现? 解决方案 ${message}是java中el表达式 可以获取域中的值 四大作用域 application request session pageContext 建议百度看下el表达式就ok了 解决方案二: jsp中的EL表达式,具体看下这里面.http://blog.csdn.net/chinacshar

safari-MacBook的Safari下type=&amp;amp;quot;submit&amp;amp;quot;点击后显示不出div

问题描述 MacBook的Safari下type="submit"点击后显示不出div 如题,按钮点击的时候在window浏览器这个红色背景的div会一闪而过,但是在macbook的Safari中什么效果都没有,return false的时候div可以显示出来,但表单还怎么提交啊,return true时页面中div已经加载变成block了,感觉是还没来得及被浏览器渲染页面就刷新了一下,有没有什么办法可以让它有一闪而过的效果? html: <div id="divTes

java web-&amp;amp;lt;c:forEach items=&amp;amp;quot;${salesProducts }&amp;amp;quot; var=&amp;amp;quot;pro&amp;amp;quot;&amp;amp;gt;

问题描述 <c:forEach items="${salesProducts }" var="pro"> ${pro.goodsName}特价:¥${pro}/c:forEach pro的bean类属性都设了getter和setter方法,但是${pro.goodsName}没值,${pro}却有值 解决方案 检查一下goodsName属性名称有没写错. 解决方案二: private String goodsName;public String getG

一个有数据库支持的web项目,打包成war包时应该怎么配置数据库才能在别人电脑上也能运行?

问题描述 一个有数据库支持的web项目,打包成war包时应该怎么配置数据库才能在别人电脑上也能运行? 学生党,最近要交一项作业,编写一个数据库支持的web项目,然后打包成war包交上去,我想问对于数据库该怎么处理才能在其他电脑上运行时访问的也是我的数据库?用的是mysql 解决方案 你可以学习一下jdbc

ajax-兄弟伙我的OnSuccess=&amp;amp;quot;afterLogin&amp;amp;quot;咋调用不起

问题描述 兄弟伙我的OnSuccess="afterLogin"咋调用不起 兄弟伙我的OnSuccess="afterLogin"咋调用不起,直接返回return Content类容到页面 @{ Layout = null; } <!DOCTYPE html> 网上超市管理系统 </p> <pre><code> //就是执行controller方法以后执行的方法 function afterLogin(data) {