代码之家  ›  专栏  ›  技术社区  ›  Ross Fuhrman

要求用户登录才能使用ASP.NET查看文档

  •  0
  • Ross Fuhrman  · 技术社区  · 16 年前

    我正在一个网站上工作,需要限制注册用户访问页面和文档(.pdf,.doc等)。我们正在使用ASP.NET成员资格类来执行此操作。

    但是,如果有人在登录到某个站点之前单击某个文档的链接,我很难让它按照我的意愿工作。目前,他们将被带到登录页面,一旦成功登录,文档将在一个新窗口中提供,但当他们关闭文档时,他们仍将坐在登录屏幕上。如何将用户发送到默认页面并加载文档?

    4 回复  |  直到 10 年前
        1
  •  1
  •   William Gross    16 年前

    首先创建自己的登录页;这非常简单,因为ASP.NET成员资格提供了执行所有重要操作的方法。然后,在调用RedirectFromLoginPage方法之前,查看ReturnURL查询参数值,如果它是文档,则将用户发送到默认页面,以查询字符串参数或会话状态传递文档的URL。最后,在默认页面中,检测是否传递了文档URL,如果传递了,则在加载页面时对文档执行客户端重定向(使用javascript或meta refresh)。

        2
  •  1
  •   Peter Mortensen Pieter Jan Bonestroo    10 年前

    如果返回URL包含到实际文档的链接,您可以做些什么,将“登录按钮”的onclientclick属性设置为调用javascript函数以在新窗口中打开文件,然后使用response.redirect()从登录屏幕中获取该人吗?

        3
  •  0
  •   Henry Gao    16 年前

    添加了表单身份验证。FormsAuthentication.RedirectFromLoginPage(txtUserID.Text.Trim(),false)

        4
  •  0
  •   Peter Mortensen Pieter Jan Bonestroo    10 年前

    正如Henrygao所说,但是记住要把标签放到你的web配置中 deny users="?" 只允许经过身份验证的用户。

    <configuration>
       <system.web>
          <authorization>
             <deny users="?"/>
          </authorization>
       </system.web>
    </configuration>