我有一个 Web 应用程序,其中有多个其他 Web 应用程序。要使用它们,用户需要通过输入用户名密码来验证自己。我希望一旦用户登录我的应用程序,它应该自动登录其他应用程序。
我不想为每个应用程序保留相同的用户名和密码,但这将是我最后的手段。
我可以要求用户第一次验证自己,之后我的应用程序应该能够做到这一点。
在这种情况下我有什么可能的方法/选项。
我的应用程序在客户端使用 javascript。
谢谢
我有一个 Web 应用程序,其中有多个其他 Web 应用程序。要使用它们,用户需要通过输入用户名密码来验证自己。我希望一旦用户登录我的应用程序,它应该自动登录其他应用程序。
我不想为每个应用程序保留相同的用户名和密码,但这将是我最后的手段。
我可以要求用户第一次验证自己,之后我的应用程序应该能够做到这一点。
在这种情况下我有什么可能的方法/选项。
我的应用程序在客户端使用 javascript。
谢谢
您想创建类似StackExchange身份验证系统的东西。您可以使用cookie在其中保存数据。例如,您可以为大约 3 天的生命周期创建登录 cookie。这意味着您的用户可以登录大约 3 天。Cookie 不安全(特别是用于存储密码等重要数据)。为了保护 cookie,您可以散列您的数据。但即使这样做,用户也可以从浏览器中删除 cookie;或者,如果用户在退出时清除其浏览器历史记录,cookie 将被删除。
这里网络有用于创建 cookie 的代码:
HttpCookie loginCookie = new HttpCookie("LoginCookie");
之后,您可以设置 cookie 过期(生命周期):
loginCookie.Expires = DateTime.Now.AddDays(3);
您可以在其中插入数据:
loginCookie.Values.Add("password", "Hashed value of password here");
对于注销:创建按钮并在 Click 事件中设置此代码:
Response.Cookies["LoginCookie"].Expires = DateTime.Now.AddDays(-1);
最好使用会话。他们更安全。如何创建会话:
Session["Password"] = "Hashed value of password here";
并在注销按钮中(删除所有会话):
Session.Abandon();
删除特定会话:
Session.Remove("Password");