-1

我有一个 Web 应用程序,其中有多个其他 Web 应用程序。要使用它们,用户需要通过输入用户名密码来验证自己。我希望一旦用户登录我的应用程序,它应该自动登录其他应用程序。

我不想为每个应用程序保留相同的用户名和密码,但这将是我最后的手段。

我可以要求用户第一次验证自己,之后我的应用程序应该能够做到这一点。

在这种情况下我有什么可能的方法/选项。

我的应用程序在客户端使用 javascript。

谢谢

4

1 回答 1

0

您想创建类似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");
于 2013-08-11T08:11:55.633 回答