我正在开发一个ASP.Net 4.5网站,它有两个部分:未经身份验证和验证。经过身份验证的页面放在/ secure /文件夹中。
我在主页上有LoginStatus。
<asp:LoginStatus ID="LoginStatus1" runat="server" OnLoggedOut="LoginStatus1_LoggedOut" />
的Web.config:
<forms name="Recycle_Auth" loginUrl="~/Login.aspx" defaultUrl="~/secure/Dashboard.aspx" timeout="30" />
如果我在localhost上并且点击“登录”,它有问题,它会回发,但不会重定向到Login.aspx。但是,如果我转到localhost / home.aspx或任何其他页面并单击“登录”,它可以正常工作。
我试过loginUrl =“Login.aspx”没有运气。 Elmah也没有记录任何错误。
任何想法都会受到赞赏。
答案 0 :(得分:0)
我的第一个猜测请检查路径属性(在身份验证模式下的web.config中)
关于Elmah,请确保将其放在system.webServer
下<system.webServer>
<modules>
<add name="Elmah.ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
</modules>
...
答案 1 :(得分:0)
无法找到原因,因此通过在web.config
中添加重定向规则解决了这个问题 <rule name="Redirect Blank URL" stopProcessing="true">
<match url="^$" />
<action type="Redirect" url="Home" appendQueryString="false" />
</rule>