none
为什么asp.net中访问禁止资源时还会跳到登录页面 RRS feed

  • 问题

  • 请教asp.net高手...我在form验证模式下,通过web.config配置文件设置了禁止所有用户访问该文件夹的资源,但是当我这些资源是它还是会跳转到登录页面吗?可是在windows验证模式下就不会出现这种问题.
    2009年9月14日 2:56

答案

全部回复

  • 你好 当没有权限时 会默认跳转到登陆页面
    <authentication mode="Forms">
             <forms name=".My" loginUrl="login.aspx"
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年9月14日 3:07
    版主
  • 您好,我的意图是这样的,我在根目录的一个文件夹里放一些禁止所有人访问的资源,我想要的是这样,当有人访问该文件夹里的资源是,不是让它跳到登录页面,而是跳到一个错提示页面,我应该怎么做?
    2009年9月14日 3:14
  • 你好,<forms loginUrl="login.aspx" />修改成你的错误页面,ASP.NET的机制就是没有权限的访问时候跳转到登录页面方便用户下面的工作,不属于错误的范畴,如果你想显示错误信息,可以把登录页视为错误页。
    jon.valett@gmail.com
    2009年9月14日 3:23
    版主
  • 你好,<forms loginUrl="login.aspx" />修改成你的错误页面,ASP.NET的机制就是没有权限的访问时候跳转到登录页面方便用户下面的工作,不属于错误的范畴,如果你想显示错误信息,可以把登录页视为错误页。
    jon.valett@gmail.com

    这个样子不合理吧 比如有的页面时可以登录用户访问的 这样的话那么都跳转到错误页面了

    你可以添加url重写或者IHttpHandler来处理,当判断请求路径是你需要禁止访问的文件夹下面的路径时就重写或者跳转到错误页面
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    • 已标记为答案 谐音 2009年9月16日 9:01
    2009年9月14日 3:27
    版主
  • 好高深...我是新手,对asp.net里面的接口和重写都不怎么熟悉..
    请问怎么添加url重写或者IHttpHandler来处理?是在全局文件里写吗?能否给点示例代码我看看?

    2009年9月14日 3:48
  • 你好 对于HttpHandler你可以参考 http://msdn.microsoft.com/zh-cn/library/system.web.ihttphandler(VS.80).aspx 
    http://www.cnblogs.com/AXzhz/archive/2006/11/02/548298.aspx

    当然你也可以在全局的Global.asax中处理 判断当前Contenxt的Request的url路径是否是你的那个禁止的文件夹,是禁止的可以通过
    HttpContext.RewritePath 实例方法 (String) 来重写到指定的错误显示页面的url
    参考 http://msdn.microsoft.com/zh-cn/library/sa5wkk6d.aspx
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    • 已标记为答案 谐音 2009年9月16日 9:01
    2009年9月14日 4:11
    版主
  • 谢谢你们!!!

    2009年9月14日 5:58
  • 补充一点,如果这样做的话,web.config里的授权配置不就失去作用了?觉得有点那个...呵呵~
    2009年9月14日 6:13