【问题标题】:MVC - Store secure informationMVC - 存储安全信息
【发布时间】:2015-07-02 06:48:32
【问题描述】:

我在 MVC 学习期间遇到了这个问题。 b有可能是正确答案吗?

您正在设计一个分布式应用程序。应用程序必须存储安全信息 特定于个人用户。用户注销时必须自动清除数据。你 需要将瞬态信息保存在安全的数据存储中。您应该使用哪个数据存储?

A.会话状态

B.数据库存储

C.个人资料属性

D.应用状态

谢谢,

【问题讨论】:

    标签: asp.net-mvc-4 model-view-controller


    【解决方案1】:

    如果“必须在用户注销时自动清除数据”,那么实际上不需要 B 或 C。D(应用程序状态)在用户之间是单一的,所以最好的选择是 A。

    来自 MSDN

    ...应用程序状态是存储少量常用数据的有用地方,这些数据不会从一个用户更改为另一个用户。有关按用户保存数据的信息,请参阅ASP.NET Session State OverviewASP.NET Profile Properties Overview[Ref]

    这表明 A 和 C 是可能的,但是 -

    [配置文件属性] 与会话状态类似,但配置文件数据不会在用户会话到期时丢失。 [Ref]

    不满足,“必须在用户注销时自动清除数据。”,留下 A 作为合适的答案。

    【讨论】:

      【解决方案2】:

      我对这个问题的看法:asp.net中的会话可以配置为将信息存储在数据库中,默认情况下它存储信息在进程中,不适合分布式应用程序。 因此,单独的会话选项不适合。但是 db 选项可以与 session 一起使用:这将满足用户从一侧注销后清除信息的条件,并从另一侧将信息存储在安全存储 (db) 中。

      更新。如果我可以选择多个选项(每个选项作为解决方案的一部分),我会选择会话 + 状态服务器或数据库。但是因为我只能选择一个答案,所以我更喜欢会话。

      【讨论】:

        【解决方案3】:

        B 可能是一个有效的答案,但 A 是更好的选择。

        【讨论】:

          猜你喜欢
          • 2011-01-02
          • 2012-10-14
          • 2012-04-04
          • 1970-01-01
          • 1970-01-01
          • 2010-12-29
          • 2013-04-11
          • 2021-02-18
          • 2018-07-05
          相关资源
          最近更新 更多