Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.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
C# ASP.Net中的基本安全会话?_C#_Asp.net - Fatal编程技术网

C# ASP.Net中的基本安全会话?

C# ASP.Net中的基本安全会话?,c#,asp.net,C#,Asp.net,首先,我没有使用表单身份验证 我发现了一个很棒的教程,它几乎满足了我的需求: 唯一的问题是,这似乎不是一个好主意。它将用户名存储在cookie中。这似乎很糟糕 我怎样才能以安全的方式完成类似本教程的工作 我基本上只想要这个基本流程: if user logged in then show page 用户可以选择登录会话(30分钟不活动)或直到选择显式注销 我有一种感觉,我需要一个会话表在我的数据库中,但我不确定 它不必是一流的安全性,因为这是一个内部网,但我仍然希望它有点安全 谢谢在存储到c

首先,我没有使用表单身份验证

我发现了一个很棒的教程,它几乎满足了我的需求:

唯一的问题是,这似乎不是一个好主意。它将用户名存储在cookie中。这似乎很糟糕

我怎样才能以安全的方式完成类似本教程的工作

我基本上只想要这个基本流程:

if user logged in then show page
用户可以选择登录会话(30分钟不活动)或直到选择显式注销

我有一种感觉,我需要一个会话表在我的数据库中,但我不确定

它不必是一流的安全性,因为这是一个内部网,但我仍然希望它有点安全

谢谢

在存储到cookie之前对您的数据(用户名等)进行加密

读取cookie,解密数据,然后验证

选中此项:


最简单的方法是在登录功能中,验证后只需添加:

FormsAuthentication.SetAuthCookie(theUserName, persistCookieBoolean);
现在您有了一个身份验证cookie集。不需要加密或解密。获取用户名,如:

HttpContext.Current.User.Identity.Name
并查看他们是否已登录:

HttpContext.Current.User.Identity.IsAuthenticated
现在您也可以在web.config中轻松设置授权。相关帖子:

您可以使用会话

示例代码VB:

登录时,请执行以下操作:

Session("Username") = "username"
然后每次在页面加载时检查
会话(“用户名”)
是否有任何数据/不为空


如果为null或为空,则会话已过期,您可以将其踢出页面。

“首先,我不使用表单身份验证”-为什么不使用?此外,您尚未“接受”之前8个问题中的任何一个问题的答案。您应该对此进行调查。我似乎无法访问HttpContext.Current.Request.LogonUserIdentity.Name。我尝试加载页面,但出现错误。
HttpContext.Current.User.Identity.Name
返回什么=