c# - 登录和登录状态目标 URL 无法正常工作

标签 c# asp.net url login-control loginstatus

我正在创建的网站有一个部分供未经过身份验证的用户使用,另一个部分供经过身份验证的用户使用。

(几乎)站点中的每个页面都有一个 LoginStatus 控件,它位于标题中,并根据状态显示为 2 个不同的按钮。

我遇到的问题是,尽管将该控件中的 LogoutPageUrl 值设置为值“~login.aspx”,但对于站点未经身份验证的文件夹中的页面,站点仅刷新页面但控件确实显示通过在控件中显示正确的图像,用户已注销。再次单击该控件时,您将被定向到登录页面。

这是那个控件:

    <asp:LoginStatus CssClass="loginControlBtn" ID="LoginStatus2" 
    runat="server" LogoutPageUrl="~/login.aspx" 
    LoginImageUrl="~/images/LoginBtn.jpg"
    LogoutImageUrl="~/images/LogoutBtn.jpg" />

此外,一旦单击 LoginStatus 控件上的登录选项并再次登录,您不会被定向到登录控件中指定的页面,而是返回到您在上选择登录选项时所在的页面LoginStaus 控件。

这是登录控件的代码:

    <asp:Login ID="helpDeskLoginCtrl" runat="server" 
            DestinationPageUrl="~/admin/HelpDeskOptions.aspx" 
            style="text-align: justify" VisibleWhenLoggedIn="False" Width="421px">
        </asp:Login>

该站点使用 Forms 身份验证,因此只有经过身份验证的用户才能查看“~/admin”文件夹中的页面..并且至少这部分工作正常,因为当您在该文件夹中的页面上选择注销时,您被引导到“~/login.aspx”页面。

但是当你再次登录而不是去

DestinationPageUrl="~/admin/HelpDeskOptions.aspx

按照登录控件中的指定,您将被定向回您来自的页面。

我真的很难过

最佳答案

好吧,我的一位大学老师帮助我找到了这个问题的实际答案,虽然我不能把它归功于我,但我将它放在这里是为了帮助可能遇到同样问题的其他人。

导致我出现问题的属性是“LogoutAction”控件。

在我使用的 VS 版本 (2010) 中,默认值为“刷新”,但需要将其更改为“重定向”,以便始终转到“LogoutPageURL”控件中指定的页面,而不是重新登录后从你来的地方返回。

希望这对某人有帮助, 菲尼克斯

关于c# - 登录和登录状态目标 URL 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13548847/

相关文章:

asp.net - 为 ASP.NET MVC 实现自定义登录

php - 如何将 URL 参数列表字符串分解为成对的 [key] => [value] 数组?

android - 如何将 url 发送为像 bt.ly 这样的小 url?

c# - 将 PDF 流式传输到网页失败

c# - 这两种声明 self 绑定(bind)的方式有什么区别?

c# - 尽管使用 Filter 选项,SaveFileDialog 不显示任何可能的扩展名

asp.net - 为什么我们不在 ASP.NET 页面中使用 html 标签控件

c# - 在(子文件夹)上找不到 MasterPage 的图像

java - 从 URL 获取文件 - 错误

c# - 无法识别捕获组的 RegEx