问题标签 [asp.net-session]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - 使用 IE11 跨子域的 ASP.Net_SessionId cookie
我有两个 ASP.NET 网站:new.somecompany.com 和 legacy.somecompany.com。
“新建”是使用 Windows 身份验证的 Intranet 应用程序。“遗留”既是互联网又是内联网;它使用表单身份验证。
在“新”网站中,我的老板希望能够单击链接并打开浏览器窗口,以访问“旧”网站上已登录的网页。(他希望在不更改旧站点的情况下完成此操作。)
我有一个适用于 Chrome(版本 39.0.2171.95 m)和 Firefox(版本 33.1.1)的解决方案,但不适用于 Internet Explorer(版本 11.0.9600.17501)。在高层次上,解决方案是:
- “新”上的控制器使用 HttpWebRequest 使用存储的凭据登录“旧版”。
- 控制器从“legacy”响应中获取“ASP.Net_SessionId”cookie,并使用它在浏览器中为域“.somecompany.com”设置“ASP.Net_SessionId”cookie。
- 在浏览器中,转到
https://legacy.somecompany.com/somepage.aspx
。
对于 Chrome 和 Firefox,将https://legacy.somecompany.com/somepage.aspx
根据用于登录的存储凭据显示。在 IE 11 中,会显示登录页面。
我使用 Microsoft 的消息分析器工具来查看来回传递的内容。使用 Chrome,我看到在 somepage.aspx 的 HTTP 请求中发送了 ASP.Net_SessionId cookie。使用 IE 11,cookie 不会被发送,我会重定向到登录页面作为响应。
我可以做些什么来让它在 IE 11 中工作?
c# - “会话状态已创建会话 ID,但无法保存它,因为响应已被应用程序刷新。”
当我们的 Web 层调用服务层时,我们遇到了奇怪的错误。根据我们的调查,当我们的 Web 层调用 WCF 服务时,服务能够进行其操作,但是当它尝试将响应发送回 Web 层时,它会抛出下面错误,而且这个错误似乎只发生在我们的 web 层的第一个服务请求中,一旦我们得到这个错误,如果我们刷新页面,错误就会消失,一切看起来都很好。
在本地机器中,如果我重建解决方案并在调试模式下启动应用程序,有时我能够重现此行为,但并非总是如此。
我尝试添加 void string sessionId = Session.SessionID; 但它不起作用,我们没有在代码中使用任何刷新语句。
请指教!!!
c# - 如何将用户会话传递到 HttpWebRequest
我有一个应用程序,它有一个携带当前用户凭据的对象,即用户 ID 和电子邮件地址等。应用程序在某些时候将调用共享 ajax 存储库以自动方式执行某些操作,这是通过创建一个新的 HttpWebRequest 来完成的然后将数据发布过来。
此时是否可以将 HttpContext.Current 中的用户会话传递到 HttpWebRequest 以使其看起来好像他们正在进行调用,以便 HttpWebRequest 已经过身份验证并且用户对象可用。
c# - 如何注销用户(使用会话)
我想知道如何使用 ASP.NET 从 C# 会话中注销用户。我正在使用 SQL Server 来检索用户登录时的用户名,(下面的第二个代码块)下面是我的 aspx 页面中的登录按钮背后的代码
当他们登录时,他们被重定向到另一个页面。这是该页面背后的代码
iis - 重命名 ASP.NET_SessionId 后 - 它仍然出现在请求标头中 - 如何解决?
我们正在尝试删除标头中对 ASP.Net 的引用
在我们的 .Net MVC 项目中,Web 配置包含:
在通过 Web 服务器 (IIS) 查看时的主机标头中,我看到:
但是,当我在本地测试时,我看不到 ASP.NET_SessionId 参考。
我还将表单身份验证 cookie 名称重命名为其他名称。
我错过了什么?
c# - 删除视图中的会话变量
如果我在下面添加,为什么我没有从这段代码中得到任何输出@{ Session.Remove("errors"); }
代码是否首先被评估然后输出,但即便如此它也没有任何意义。没有@{ Session.Remove("errors"); }
我得到它的输出什么都没有,这很烦人。
尝试执行仅针对当前请求持续存在的 FLASH 消息。
更新:
看法:
c# - ASP.NET 会话包装器 Session.Abandon() 如何
我正在使用会话包装器,如此处回答中所述:如何从 ASP.NET 中的任何类访问会话变量?
但是我不知道如何使用这个原理来做 Session.Clear() 和 Session.Abandon() 。
我的代码:
asp.net-mvc - ASP.NET_SessionId 请求 Cookie 不安全?
在服务器响应中,我通过将以下行放入所有 cookie 中来添加“安全”标志web.config
:
这似乎有效,因为 ASP.NET_SessionId cookie 在响应中显示“安全”标志:
但是,当我在页面上执行操作并再次检查开发工具时,我注意到同一个 cookie 在客户端请求中不再具有“安全”标志:
我正在使用 Internet Explorer 11 开发人员工具查看网络。
会话 cookie 是否应该在客户端请求中包含“安全”标志?如果没有,是否存在“不安全”请求 cookie 的安全隐患?
在花了一些时间研究之后,我没有在我的应用程序中找到任何更改 cookie 或 cookie 上的“安全”标志的代码。任何有关此事的信息将不胜感激。
asp.net-mvc - 会话过期后在视图页面中管理会话变量
会话过期后,我必须在视图页面中管理会话变量在控制器中
在视图中
我工作正常,直到会话到期。但是当会话过期时,它会显示错误
Inex.dll 中出现“System.NullReferenceException”类型的异常,但未在用户代码中处理
附加信息:对象引用未设置为对象的实例。
会话到期时如何注销用户。
c# - Asp.net 多文件上传
我有一个ASP.net
Web 应用程序,它保存在会话中输入的所有详细信息,并在最后发送一封电子邮件,其中包含所有详细信息,包括上传的文件的附件(目前所有这些都可以正常工作)。
我遇到的问题是文件上传页面需要更改。我现在希望能够单独上传多个文档,所以基本上用户找到要上传的文件然后单击“添加”按钮。上传文件字段然后应该清除,并且表格应该填充上传的文件,每个上传的文件都有一个“删除/删除”按钮。
此表中应显示的详细信息是:
- 文件名
- 从新下拉列表中选择的选项
- 删除按钮
正如我所说,我使用后面的代码上传单个文件,但我不知道如何实现我所追求的,以便所有上传的文档都在我的电子邮件中发送。
当前的 HTML
当前代码背后
我后面的代码没有捕获选择的选项,但需要,所以我可以在我的确认页面上显示它(HTML 如下所示)