【问题标题】:Using MasterPage disadvantages使用 MasterPage 的缺点
【发布时间】:2013-06-14 06:19:21
【问题描述】:

例如,我们可以使用 MasterPage 来整合页眉和页脚的布局。

但我们可以将它用于服务器端操作,例如检查用户登录的会话。 这种方法有风险吗?如果我们使用这种方法有什么缺点?

【问题讨论】:

    标签: asp.net .net session master-pages


    【解决方案1】:

    我认为我们不应该在代码中手动检查用户登录的会话。 ASP.NET 为我们提供了表单身份验证,它已经为我们做到了。身份验证是另一个不应与页面逻辑混合的问题(关注点分离)

    【讨论】:

      【解决方案2】:

      Session 使用母版页没有缺点。否则,它有助于检查会话值,因为无需检查每一页的值。它只能在母版页中检查,并会影响所有页面。

      【讨论】:

      • 如果我们把这个逻辑放到母版页中,当他们想要重用母版页的页眉和页脚但希望页面公开时如何处理? (无会话检查)
      • 你能不能多解释一下,“重用母版页的页眉和页脚,但希望页面是公开的”
      • 母版页有页脚和页眉,他们希望他们网站中的所有页面都保持一致,所以所有页面都使用母版页。但其中一些是公共页面(无需身份验证),其中一些需要用户登录。
      • 对于上述情况,您必须将逻辑放在母版页的 Page_Load 下。将 hiddenfield 放在母版页中,在不需要身份验证的所有页面中将此 hiddenfield 值设置为 1,然后在母版页的 page_load 中进行检查,如果该值设置为 1,则不进行会话检查,否则应检查会话。跨度>
      • 然后page_load的逻辑将应用到所有使用母版页的页面。这意味着他们都检查用户会话,您必须以某种方式覆盖公共页面的逻辑(而不是关注点分离)
      【解决方案3】:

      母版页可用于检查是否存在经过身份验证的用户的会话,否则会将用户重定向到登录屏幕。

      在登录屏幕上尝试使用 ASP.NET 登录控件。

      【讨论】:

        猜你喜欢
        • 2021-03-06
        • 2013-12-02
        • 2020-05-12
        • 1970-01-01
        • 1970-01-01
        • 2018-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多