我有一个网站,分为五个模块(也就分了五个目录),我现在要身份验证,每个目录下都有个Web.config文件,
现在我有个权限,只能访问1目录,当我访问2目录时,它会自动跳转到登录页面;
而我要的是当你访问2目录,会给一个提示(比如:"您没有足够的权限!"),而不是直接跳到登录页面!~主Web.config
  <membership>
   <providers>
    <remove name="AspNetSqlMembershipProvider" />
    <add connectionStringName="TesterConnectionString" enablePasswordRetrieval="false"
     enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/"
     requiresUniqueEmail="false" passwordFormat="Clear" maxInvalidPasswordAttempts="5"
     minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0"
     passwordAttemptWindow="10" passwordStrengthRegularExpression=""
     name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web,      Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   </providers>
  </membership>  <roleManager enabled="true">
   <providers>
    <remove name="AspNetSqlRoleProvider" />
    <add connectionStringName="TesterConnectionString" applicationName="/"
     name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   </providers>
  </roleManager><authentication mode="Forms">
      <forms name=".ASPXAUTH" loginUrl="login.aspx"
        defaultUrl="default.aspx"
        protection="All" timeout="30"
        path="/" requireSSL="false"
        slidingExpiration="true"
        cookieless="UseDeviceProfile"
        enableCrossAppRedirects="false" />
    </authentication><authorization>
   <deny users="?" />
</authorization>

解决方案 »

  1.   

    loginUrl="login.aspx" 把loginUrl指定到一个页面,输出提示吧。
      

  2.   

    在转到登录页面的时候,url中有一个参数,名字忘了,好像是returnurl,你可以做下以判断if request.querystring("returnurl") isnot nothing then
    response.write("未登录或权限不够")
    end if
      

  3.   

    我想给出提示后,跳到被拒绝访问页的上一页!而不是让它自动跳到登录页面!(我想既然不能访问这个页面,但我还是可以访问其它页面嘛),(附:如果你账号没有访问这个页面的权限,它会自动跳到loginUrl="login.aspx"页面,也就是登录页面,我想知道,是由谁来执行跳转,可不可以捕获到它.)