【问题标题】:Set Session ID from ASP.NET Core server to browser将 ASP.NET Core 服务器的会话 ID 设置为浏览器
【发布时间】:2022-01-02 06:49:10
【问题描述】:

在登录过程中,我需要在浏览器中设置一个会话 id,以便可以从服务器验证所有调用。

目前,浏览器正在发送一个默认设置的值,并且无法从服务器更改它。

我需要从服务器端控制登录,而不是客户端。

【问题讨论】:

    标签: asp.net-core security authentication browser


    【解决方案1】:

    据我所知,会话由服务器端应用程序而不是客户端应用程序管理。当服务器调用会话设置字符串方法时。它将生成会话 id 并让客户端浏览器 cookie 来存储它。当客户端发送请求时,它会自动发送会话ID,服务器可以通过会话ID检查会话数据。会话 ID 是自动生成的,但在 cookie 过期之前不会更改。此外,浏览器会话结束时会删除会话 cookie。

    根据您的要求,您希望在浏览器中设置一个会话 ID,以便可以从服务器验证所有调用。我建议您可以直接使用 set session 方法来设置会话,并使用正确的键和名称。

    当客户端要登录时,登录成功后,建议你可以调用这个方法HttpContext.Session.SetString("User", "Username");。然后,您可以检查 Web 应用程序中的会话名称以验证客户端用户。

    【讨论】:

    • 一个用户也可以在这里从多个设备登录。因此,在多次登录的情况下,根据用户名设置它是行不通的。
    • ID可以自己设置。您可以在该会话中添加更多内容,例如 clinet IP 或其他内容。
    猜你喜欢
    • 2015-03-22
    • 2019-06-08
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多