gpt4 book ai didi

c# - FormsAuthentication 登录在设置授权票证后拒绝重定向

转载 作者:行者123 更新时间:2023-11-30 17:14:21 25 4
gpt4 key购买 nike

所以我有一个登录页面,我在其中设置了自己的 cookie 和 FormsAuthenticationTicket。但是,当我最终选择登录后将用户重定向到新主页时,它拒绝了。它只是无缘无故地重定向回登录页面。我不明白为什么。

我的 web.config 删除了部分机器 key :

<authentication mode="Forms">
<forms loginUrl="~/Login.aspx" defaultUrl="~/Default.aspx" cookieless="UseCookies" name=".ASPXFORMSAUTH" timeout="50" />
</authentication>
<authorization>
<allow users="*" />
</authorization>
<machineKey decryption="AES" validation="SHA1" ........ />

输入用户名/密码并验证为真后我的登录点击事件:

if (Authenticated)
{
//Create Form Authentication ticket
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, userName, DateTime.Now, DateTime.Now.AddMinutes(30), false, userName, FormsAuthentication.FormsCookiePath);
string encryptedCookie = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedCookie);
Response.Cookies.Add(cookie);
Response.Redirect("MainPage.aspx", true);
}

MasterPage 检查以确保只能访问某些页面:

else if (Context.User.Identity.IsAuthenticated)
{
if (Session["uid"] == null)
{
userclass u = new userclass();
int uid = -1;
uid = (int)u.Getuseridbyusername(Context.User.Identity.Name);
if (uid != -1)
{
Session["uid"] = uid;
}
}
} else if (!Context.User.Identity.IsAuthenticated)
{
// First check if user is was redirected to ChangePassword
if (!Request.Path.Contains("ForgotPass.aspx") && !Request.Path.Contains("ChangePass.aspx") && !Request.Path.Contains("CreateAccount.aspx") && !Request.Path.Contains("Error.aspx") && !Request.Path.Contains("Logout"))
{
if (!Request.Path.Contains("Login"))
FormsAuthentication.RedirectToLoginPage();
}
}

注释掉 RedirectToLoginPage() 无效。尝试使用 RedirectFromLoginPage 无效。尝试使用 无效。尝试使用 连用没有效果。

编辑:Cookie 是根据浏览器流量设置的。但是没有重定向通过。显然,要么您在设置 cookie 后无法重定向,要么 ASP.NET 不知道如何阅读说明。

最佳答案

已解决。显然,我确实在某个地方进行了重定向,即使设置了 cookie 并且 Context.User.Identity.IsAuthenticated 返回了 true 因为 session 变量“uid”被设置了,它也会将用户带回登录页面。

关于c# - FormsAuthentication 登录在设置授权票证后拒绝重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8827317/

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