gpt4 book ai didi

Asp.net 表单例份验证登录循环

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

当您使用 cookieless session 并且无法将 login.aspx 的名称更改为 httphandler 时,您如何解决无限登录循环问题?

即,当具有管理员权限的用户点击注销按钮并且将返回到受限页面的 URL 传递给 login.aspx 时,另一个没有管理员权限的用户尝试登录,他们将被重定向回登录页面。

我遇到过这个 solution但我无法将 login.aspx 的名称更改为 http 处理程序,并且 isauthenticated 函数似乎在具有 cookieless 身份验证的 aspx 页面中不起作用,因为当重定向回登录时,表单例份验证票似乎已从 url 中剥离页。

编辑:

由于此应用程序已在生产中,我无法更改登录/注销/超时过程的页面流或重命名登录页面。

最佳答案

在 login.aspx 页面登录后,检查用户是否有权访问 returnUrl 中的页面。您可以使用 UrlAuthorizationModule 的这种方法(如果最适合您,也可以使用自定义方法):

System.Web.Security.UrlAuthorizationModule.CheckUrlAccessForPrincipal(

returnUrl,
userPrincipal,
GET");

如果用户未经授权,只需重定向到用户可以访问的页面。

获取用户主体:
var roles = System.Web.Security.Roles.GetRolesForUser(username);

var principal = new System.Security.Principal.GenericPrincipal(

new System.Security.Principal.GenericIdentity(username),

roles

);

关于Asp.net 表单例份验证登录循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/542429/

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