Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net FormsAuthentication类相对于会话变量的优势_Asp.net_Formsauthentication - Fatal编程技术网

Asp.net FormsAuthentication类相对于会话变量的优势

Asp.net FormsAuthentication类相对于会话变量的优势,asp.net,formsauthentication,Asp.net,Formsauthentication,我的网站正在使用会话变量来存储登录状态,如会话[“用户”] 并在每个页面中检查此会话变量,如: If(Session[“User”]==null)Response.Redirect(“loginPage.aspx”) 形式验证是否更安全 谢谢。首先,它比正常会话更安全。存在会话劫持的可能性。您可以查看以下链接以了解更多详细信息 即使您未登录,也可以使用会话。您只需要为用户生成会话Id 以下是其他优势 1) 表单身份验证可以支持基于角色的授权,因此,如果您不希望用户访问特定于管理员的某个文件夹

我的网站正在使用会话变量来存储登录状态,如会话[“用户”]

并在每个页面中检查此会话变量,如:

If(Session[“User”]==null)Response.Redirect(“loginPage.aspx”)

形式验证是否更安全


谢谢。

首先,它比正常会话更安全。存在会话劫持的可能性。您可以查看以下链接以了解更多详细信息

即使您未登录,也可以使用会话。您只需要为用户生成会话Id

以下是其他优势

1) 表单身份验证可以支持基于角色的授权,因此,如果您不希望用户访问特定于管理员的某个文件夹,那么您可以使用表单身份验证轻松实现这一点,而使用需要手动执行的会话

2) 您可以使用asp.net的内置控件创建登录注销功能,该控件具有成员身份和表单身份验证

3) 它生成一个身份验证令牌,这样您就不必像在会话中那样每次都手动检查

在会话中维护关键信息不是一个好主意。希望这对你有帮助。我强烈建议使用表单身份验证或任何最新技术(如ASP.NET Identity)进行身份验证