标签: asp.net-session

经典ASP到ASP.Net一次性会话数据拷贝

我们有一个广泛的经典ASP网站,我们正在寻求升级到ASP .Net(最有可能是最新版本).显然,立即升级所有页面将是一个巨大的任务,所以我们只想在ASP .Net中首先编写新页面(和页面重写).

这样做有两个障碍:

  1. 我不知道如何在ASP .Net中访问经典的ASP会话数据.这只需要设置一次,因为它永远不会被登录页面以外的任何页面修改.我宁愿对经典的ASP登录页面进行微小的更改,但这只是一个小的偏好.

  2. ASP和ASP .Net会话必须同时超时,以保持版本差异无缝.

有人可以提供任何帮助吗?

提前致谢.

asp.net asp-classic asp.net-session

3
推荐指数
1
解决办法
2408
查看次数

如何从单独的JavaScript文件中获取会话变量?

我在GoogleOauth2.js文件中有简单的代码

function storedAccsessToken(token) {
    $.ajax({
        type: "GET",
        url: '<%=HttpContext.Current.Request.ApplicationPath %>/SaveToken.ashx?accToken=' + token,
        dataType: "text",
        complete: function (resp, status) {
            if (status == "success" || status == "notmodified") {
                if (resp.responseText != '');
                alert(resp.responseText);
                window.location = window.location;

            }
        }

    });

}
Run Code Online (Sandbox Code Playgroud)

function refresh() {
    var akkToken = '<%=Session["googleAccToken"]%>';
    $.ajax({
        url: 'https://www.googleapis.com/oauth2/v1/userinfo?access_token=' + akkToken,
        data: null,
        success: function (resp) {
            user = resp;
            alert(user.name);
        },
        dataType: "jsonp"
    });

}
Run Code Online (Sandbox Code Playgroud)

当我把js文件放在teg头

<head runat="server">
    <title></title>
    <script type="text/javascript" src="Scripts/jquery-1.8.2.min.js"></script>
    <script src="Scripts/GoogleOauth2.js" type="text/javascript"></script>

</head>
Run Code Online (Sandbox Code Playgroud)

当我开始我的项目并调试js时,我看到<%= …

javascript asp.net asp.net-session

3
推荐指数
1
解决办法
9293
查看次数

从服务器收到的Cookie是安全的但发送到服务器的Cookie不是安全的ASP.NET

在我的ASP.NET Web应用程序中,我做了以下更改,通过将以下条目添加到web.config来使ASP.NET_SessionID和.ASPXAUTH Cookie安全

<httpCookies httpOnlyCookies="true" requireSSL="true" />
Run Code Online (Sandbox Code Playgroud)

并添加以下标签

<forms requireSSL ="true" /> 
Run Code Online (Sandbox Code Playgroud)

但我的问题是,从服务器收到的Cookie(网络 - > Cookies->方向列的值为已接收)将Secure和HttpOonly标志设置为true.使用IE 11 Developer工具调试时发现信息,但发送到服务器的Cookie数据(网络 - > Cookies->方向列的值为已发送)没有任何Secure或HttpOnly标志设置为true.

这是默认行为吗?如果是这样,为什么发送到服务器的数据没有设置Secure和HttpOnly标志?除了对配置文件所做的上述更改之外,如何设置它.

asp.net security session-cookies asp.net-session

3
推荐指数
1
解决办法
3868
查看次数

使用jquery在asp.net会话中存储值

如何使用jquery在会话中存储值.我使用以下代码

var Link = '<%=Session["Link"]%>';
Run Code Online (Sandbox Code Playgroud)

从会话中获取数据.如何进行逆向过程.

问题:

 I need this in my master page. so i cant use .ajax{}.
Run Code Online (Sandbox Code Playgroud)

格塔

jquery asp.net-session

2
推荐指数
1
解决办法
8424
查看次数

设置/更新aspxauth和asp.net_sessionid cookie的到期时间

我想知道是否可以通过一种方法来设置.NET应用程序,以设置和更新浏览器中的aspxauth和asp.net_sessionid cookie的到期时间?

从我的角度来看,Cookie的到期日期类似于1/1/0001,它告诉浏览器保留它们直到浏览器关闭(我已经使用Chrome观察到了这一点)。我想设置一个明确的时间,但是,我将需要针对每个请求更新该时间。

我正在尝试使用一些代码来做到这一点:

var timeoutMins = Session.Timeout;
if (Response.Cookies.Count > 0)
{
   foreach (string s in Response.Cookies.AllKeys)
   {
       if (s == FormsAuthentication.FormsCookieName || s.ToLower() == "asp.net_sessionid")
       {
           Response.Cookies[s].Expires = DateTime.Now.AddMinutes(timeoutMins);
       }
   }
}
Run Code Online (Sandbox Code Playgroud)

我尝试在global.asax End_Request事件中执行此操作,尽管这似乎不是一个好地方,因为它每页触发几次,并且您无权访问sessionstate超时;此外,它仅在登录和注销时触发,因此基本上我可以设置一次,但永远无法更新。这将导致我的用户在登录后15分钟退出,即使他们一直处于活动状态。

似乎有些地方要告诉.net处理此问题?我知道这是一个奇怪的请求,但这是该项目的安全性要求,因此我正在尝试使其正常运行!

.net c# cookies asp.net-session .aspxauth

2
推荐指数
1
解决办法
7867
查看次数