ASP.Net中的基本安全会话

本文关键字:安全 会话 Net ASP | 更新日期: 2023-09-27 17:58:23

首先,我没有使用Forms Authentication。

我发现了一个很棒的教程,几乎可以满足我的需求:http://www.codeproject.com/Questions/358434/Keep-me-signed-in-until-Loggged-out

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

我怎么能以一种安全的方式做像本教程这样的事情呢?

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

if user logged in then show page

用户可以选择登录会话(30分钟不活动),或者直到他们选择明确注销。

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

它不一定是顶级的安全性,因为这是用于intranet的,但我仍然希望它在某种程度上是安全的。

感谢

ASP.Net中的基本安全会话

最简单的方法是在您的登录功能中,一旦您验证了它们,只需添加:

FormsAuthentication.SetAuthCookie(theUserName, persistCookieBoolean);

现在您有了一个身份验证cookie集。无需加密或解密。获取用户名,如:

HttpContext.Current.User.Identity.Name

看看他们是否登录:

HttpContext.Current.User.Identity.IsAuthenticated

现在,您也可以在web.config中轻松设置授权。相关文章:ASP.Net 中的手动访问控制

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

读取cookie,解密数据&然后进行验证。

检查此项:

加密&.NET应用程序中的数据解密

加密/解密.NET 中的字符串

您可以使用会话。

示例代码VB:

登录时do:

Session("Username") = "username"

然后每次页面加载时检查Session("Username")是否有任何数据/不为空。

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