我正在一个需要限制对注册用户访问页面和文档(.pdf,.doc等)的网站上工作。我们正在使用ASP.NET Membership类来执行此操作。要求用户使用ASP.NET登录以查看文档
但是,我无法正常工作,如果有人在登录到网站之前点击文档链接,我该如何操作。目前,它们将被带到登录页面,并且在成功登录后,该文档将在新窗口中被提供,但是当它们关闭文档时,它们仍将坐在登录屏幕上。可以做些什么来将用户发送到默认页面并加载文档?
我正在一个需要限制对注册用户访问页面和文档(.pdf,.doc等)的网站上工作。我们正在使用ASP.NET Membership类来执行此操作。要求用户使用ASP.NET登录以查看文档
但是,我无法正常工作,如果有人在登录到网站之前点击文档链接,我该如何操作。目前,它们将被带到登录页面,并且在成功登录后,该文档将在新窗口中被提供,但是当它们关闭文档时,它们仍将坐在登录屏幕上。可以做些什么来将用户发送到默认页面并加载文档?
首先制作您自己的登录页面;这很简单,因为ASP.NET Membership提供了执行所有重要操作的方法。然后,在调用RedirectFromLoginPage方法之前,查看ReturnUrl查询参数值,如果它是文档,请将用户发送到默认页面,而不是将文档的URL作为查询字符串参数或会话状态。最后,在默认页面中,检测是否传递了文档URL,如果是,则在页面加载时对文档执行客户端重定向(使用JavaScript或META刷新)。
如果ReturnURL包含指向实际文档的链接,您可以设置“登录按钮”的OnClientclick属性来调用JavaScript函数以在新窗口中打开该文件,然后有响应.Redirect()从登录屏幕中取出该人员?
这对我而言并不适用,因为在登录完成之前JavaScript已经解雇了。 – 2009-10-19 18:31:20
新增formsAuthentication。 FormsAuthentication.RedirectFromLoginPage(txtUserid.Text.Trim(),false)
纠正我,如果我错了,但这会调出文档(.pdf,.doc等),但是当文档窗口关闭时,用户仍将在登录页面上。 – 2009-10-15 20:25:37
正如HenryGao所说的,但记住要将标签放入您的web配置中,并将deny users="?"
仅允许通过身份验证的用户。
<configuration>
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
我最终实现了这个解决方案。 – 2009-10-19 18:32:01
很高兴听到! – 2009-10-19 22:55:33