gpt4 book ai didi

ASP.NET:将用户引导到登录页面,登录后将用户发送回最初请求的页面?

转载 作者:行者123 更新时间:2023-12-04 07:02:48 24 4
gpt4 key购买 nike

我正在尝试在 ASP.NET 3.5 中手动实现登录系统。基本上,在加载时,我希望站点检查并查看用户对象是否处于事件状态,如果没有,那么我希望登录页面出现。

用户成功登录后,我希望用户能够访问他最初请求的同一页面。

例如:

  • 用户请求:MyPage.aspx - 未登录
  • 出现登录页面而不是 MyPage.aspx
  • 用户登录成功
  • 例如,出现 MyPage.aspx 而不是 Default.aspx

  • 查看 System.Net 命名空间,我看到有一个“HttpWebRequest 类”,它有一个“HttpWebRequest.AllowAutoRedirect 属性”,但我不确定如何让我从登录页面返回。

    注意:我知道 ASP.NET 中有自动身份验证系统设置,但我想手动控制数据库。

    ——托梅克

    最佳答案

    如果您不想实际使用内置的 Forms Authentcation,您可以做的是:

    检查用户是否在您想对匿名用户隐藏的每个页面上进行了身份验证。如果他们未通过身份验证,请使用查询字符串中的 URL 将他们重定向到您的登录页面。

    if(!HttpContext.Current.User.Identity.IsAuthenticated) {
    Response.Redirect(~/login.aspx?redirect=this_page.aspx");
    }

    然后在您的登录页面上,在用户登录后。检查查询字符串以查看是否有重定向参数。
    if(!String.IsNullorEmpty(Request.QueryString["redirect"]) {
    string url = ResolveClientURL(redirect);
    Response.Redirect(url);
    }

    当然,这都是使用身份验证内置到 .NET 中的,您可以在其中拒绝对某些目录的匿名访问,当您这样做时,.NET 将重定向到您的登录页面(在 web.config 中设置)并包含一个登录页面上的“ReturnURL=blahblah”。

    仅供引用。

    关于ASP.NET:将用户引导到登录页面,登录后将用户发送回最初请求的页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1569426/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com