gpt4 book ai didi

c# - 在更改密码页面上重定向用户和 "block"他

转载 作者:太空宇宙 更新时间:2023-11-03 12:13:46 25 4
gpt4 key购买 nike

是一个 asp.net MVC 应用程序。我正在使用 Asp.NetCore.Identity

我想在登录后如果“密码从未更改过”(我知道如何调节)将他重定向到 ChangePassword 页面并阻止任何其他页面直到更改密码。(或者当他想访问其他页面以重定向时在 ChangePassword 上)

有什么想法吗?也许要覆盖授权属性?

最佳答案

我通过创建自定义授权类做了同样的事情。为此,我们必须创建一个新类并在其上继承 AuthorizeAttribute 类,然后重写一个名为 AuthorizeCore 的方法,因为它是自定义授权检查的入口点。

public class CheckAuthorization: AuthorizeAttribute
{
public CheckAuthorization(){
}

protected override bool AuthorizeCore(HttpContextBase httpContext)
{
bool _isAuthorize = false;

if(password change required)
httpContext.Response.Redirect("~/home/changepassword");

if (!httpContext.User.Identity.IsAuthenticated)
return false;

// Check roles

return true;
}
}

然后像这样使用您的授权属性

[CheckAuthorization(Roles = "admin, superadmin, root")]
public ActionResult DashBoard()
{
return View();
}

关于c# - 在更改密码页面上重定向用户和 "block"他,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50767176/

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