我有一个Web应用程序,其中有多个其他Web应用程序。要使用它们,用户需要输入用户名密码进行身份验证。我希望一旦用户登录我的应用程序,它就会自动登录到其他应用程序中。
我不想为每个应用程序保留相同的用户名和密码,但这将是我最后的选择。
我可以要求用户第一次进行身份验证,之后我的应用程序应该可以执行此操作。
我在这种情况下有哪些可行的方法/选项。
我的应用程序在客户端使用javascript。
由于
答案 0 :(得分:0)
您希望创建类似StackExchange身份验证系统的内容。您可以使用cookies将数据保存在其中。例如,您可以创建大约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");