在会话中存储敏感数据

时间:2015-03-14 11:39:20

标签: asp.net-mvc

我是MVC的新手,我的应用程序编写错误,我正在尝试如何正确地完成它。

这是一个非常正常的情况,通过用户名访问系统&密码。

目前,基于此,我已经填充了静态网络对象"因为每次后续调用API都需要它来检索数据。

但是,正如您可能知道的那样,我刚刚意识到,这意味着其他人会在我存储时自动登录

public static bool LoggedIn { get; set; }

我还有一个存储敏感数据的类,如下所示:

public static NetworkInfo networkstuff { get; set; }

其中包含:

public class NetworkInfo
{
    public string baseUrl { get; set; }
    public string userName { get; set; }
    public string userPassword { get; set; }
    public Proxy proxyInfo { get; set; }
}

我需要在所有控制器上提供此信息,以避免每次调用API时都重新生成它。

但是,我能找到的唯一方法就是使用Session变量。当我读到Session变量时,它告诉我不要在其中存储敏感信息。

有更正确的方法吗?

1 个答案:

答案 0 :(得分:1)

我会尽可能地坚持使用ASP.NET会员系统,而不是使用定制的类来处理身份验证。

如果您决定坚持使用定制课程,我会使用SecureString而不是string来获取密码,您还可以使用散列算法(例如SHA和盐)来保护密码密码而不是以纯文本形式发送。