我的网站使用会话变量来存储登录状态,例如 Session["User"],
并在每个页面中检查此会话变量,例如:
If (Session["User"] == null ) Response.Redirect("loginPage.aspx");
FormAuthentication 更安全吗?
谢谢。
我的网站使用会话变量来存储登录状态,例如 Session["User"],
并在每个页面中检查此会话变量,例如:
If (Session["User"] == null ) Response.Redirect("loginPage.aspx");
FormAuthentication 更安全吗?
谢谢。
第一件事是它比正常会话更安全。存在会话劫持的可能性。您可以查看以下链接以获取更多详细信息。
http://msdn.microsoft.com/en-us/library/ms972969.aspx
http://peterwong.net/blog/?p=136
即使您没有登录,也可以使用会话。您唯一需要的是为用户生成的会话 ID。
以下是其他优点。
1)表单身份验证可以支持基于角色的授权,因此如果您不希望用户访问某些仅针对管理员的文件夹,那么您可以通过表单身份验证轻松完成此操作,而会话则需要手动操作。
2) 您可以使用具有成员资格和表单身份验证的 asp.net 内置控件创建登录-注销功能。
3)它会生成一个身份验证令牌,因此您不必每次都像在会话中那样手动检查。
在会话中维护关键信息不是一个好主意。希望这会帮助你。我强烈建议使用表单身份验证或任何最新技术(如 ASP.NET Identity)进行身份验证。