【问题标题】:Programmatically see if a webpage has anonymous access?以编程方式查看网页是否具有匿名访问权限?
【发布时间】:2015-04-27 21:07:49
【问题描述】:

有没有办法以编程方式判断我网站中的页面是否具有匿名访问权限?

我的想法是,我想检查用户的去向,如果他们没有登录并且要访问受保护的页面,那么我只想弹出一个 div,他们可以在重定向之前使用该 div 登录而不是而不是将它们带到实际的登录页面。 (如果他们从地址栏浏览到受保护的页面,尽管它仍然会将他们重定向到实际的登录页面)。

我只需要一种方法来查看他们点击的链接是否会将他们带到受保护的页面。

【问题讨论】:

标签: c# asp.net forms-authentication


【解决方案1】:

设置页面,使其强制进行身份验证(如前面的购物车示例)。然后您会显示弹出窗口。

我实际上在架构上不喜欢这种方法,因为您可能会将敏感信息发送给未登录的用户。这就是 ASP.NET(MVC 或 WebForms)具有内置重定向的原因。是的,它确实将用户发送到另一个页面,但它会阻止他们获取他们无权使用的内容。

除非您在用户通过身份验证之前连接信息以不“绘制”,否则您不应依赖以弹出窗口覆盖信息作为安全手段,因为用户始终可以使用显示源。

【讨论】:

  • 这个想法是当他们导航到一个受保护的页面时,在他们已经在的不受保护的页面上弹出登录 div,然后在成功登录后重定向它们。我想我已经想出了一种方法来做到这一点,涉及一个 ajax 调用来验证他们在 div 关闭后是否成功登录。 (如果他们通过地址栏导航到受保护的页面,它仍然会将他们发送到完整的登录页面)。
  • 为了澄清一下,我在上一条评论的第一句话中“当他们导航时”的意思是他们使用我在页面上的控件或链接进行导航时将能够在重定向之前显示弹出窗口。
【解决方案2】:

您可以使用授权过滤器来避免对特定功能的未授权或匿名访问。

【讨论】:

    猜你喜欢
    • 2017-03-07
    • 1970-01-01
    • 2013-09-28
    • 2019-03-08
    • 2013-12-01
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    相关资源
    最近更新 更多