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