表单身份验证的 ReturnUrl 问题


大家好,
我正在研究 Asp.net 4.0 c#

我在主页上遇到重定向问题。
到底发生了什么
我正在创建一个具有以下功能的新网站
– 表单验证
– 自定义角色提供者
– 站点地图(来自 web.sitemap)
该站点已正确构建和调试。
我的要求是,当任何人访问网站时,他应该能够看到 home.aspx (网站的主页)但是
当我运行该网站时,它会重定向到 login.aspx(网站的登录页面),并且我的 URL 变为
“http://localhost:1552/aspx/Login.aspx?ReturnUrl=%2faspx%2fHome.aspx”

此外,母版页未应用 CSS,仅显示母版页的内容。

表单身份验证的 Web.config 文件更改为

XML
<authentication mode="Forms">
    <forms defaultUrl="~/aspx/Home.aspx"  loginUrl="~/aspx/Login.aspx"  timeout="60"/>
  </authentication>

# 对于站点地图,Web.config 更改为

XML
<siteMap defaultProvider="AspNetXmlSiteMapProvider" enabled="true">
      <providers>
        <clear />
        <add name="AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
     siteMapFile="web.sitemap" securityTrimmingEnabled="true"  />
      </providers>
    </siteMap>

    <authorization>
      <deny users="?" />
    </authorization>

对于身份验证,我有 2 种类型的用户 1. 来自管理员和另一位访客
对于 aspx 页面,我单独创建了文件夹结构,并在 web.config 中提供了该位置:

XML
<location path="aspx/_admin">
   <system.web>
     <authorization>
       <allow roles ="admin"/>
       <deny users="*"/>
     </authorization>
   </system.web>
 </location>
 <location path ="aspx/_guest" >
   <system.web>
     <authorization>
       <allow roles="guest" />
       <deny users="*"/>
     </authorization>
   </system.web>
 </location>

我认为该问题与表单身份验证有关,或者可能是由于我在 web.config 文件中指定的位置标签造成的
要求很紧急,期限太短了。 如果有人知道解决方案,请帮助我

解决方案1

还要在 web.config 中添加一个部分。

XML
<location path="~/Home.aspx">
   <system.web>
     <authorization>
       <allow users="*" />
     </authorization>
   </system.web>
 </location>

コメント

タイトルとURLをコピーしました