当前位置:编程学习 > C#/ASP.NET >>

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
里的
  protected void Application_AuthenticateRequest(Object sender, EventArgs e)
    {
        HttpApplication app = (HttpApplication)sender;
        if (app.Request.IsAuthenticated)
        {            
            System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection();
            System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
            con = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ToString());
 
            string id = Context.User.Identity.Name;
            string sql = "select JS from B_YHGLB   where  (YHM='{0}') ";
            sql = string.Format(sql, id);
            cmd = new System.Data.SqlClient.SqlCommand(sql, con);
            con.Open();
            string ids = string.Empty;
            try
            {
                System.Data.SqlClient.SqlDataReader dr = cmd.ExecuteReader();
                if (dr.Read() == true)
                {
                    System.Security.Principal.GenericPrincipal ppal;
                    ids = dr["JS"].ToString();
                 //   ids += ',' + dr["MC"].ToString();
                    string[] roles;
                    roles = ids.Split(',');
                    ppal = new System.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了, 因为我的用户量想来会大的。  十万。。。二十万。。。。晕
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,