gpt4 book ai didi

c# - MVC 与 [Authorize] 相反,也许类似于 [DenyAuthorized]..?

转载 作者:太空宇宙 更新时间:2023-11-03 10:45:34 26 4
gpt4 key购买 nike

MVC5 中是否有允许我拒绝授权用户访问某些页面的属性?

我试图限制授权用户查看某些页面,例如注册页面。

目前,即使用户在注册时知道 URL,也可以浏览到我的注册页面。

我认为应该有类似 [DenyAuthorized] 的属性,或者是否有其他方法可以做到这一点?

我认为这是一个相当普遍的要求,我可能没有正确实现某些内容。

我写了一个简短的属性,它确实有效,但我不认为这是最好的方法:

public class DenyAuthorized : AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
if (filterContext.HttpContext.User.Identity.IsAuthenticated)
{
if (filterContext.HttpContext.Request.UrlReferrer != null)
{
filterContext.Result = new RedirectResult(filterContext.HttpContext.Request.UrlReferrer.AbsoluteUri);
}
else
{
filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { action = "Index", controller = "Home", area = "", }));
}
}
}
}

有没有更好的方法来做到这一点?

最佳答案

最好的方法是在登录/注册操作中检查用户的登录状态,如果用户已登录,则将其重定向到仪表板/主页/登录页面。

本应如此

关于c# - MVC 与 [Authorize] 相反,也许类似于 [DenyAuthorized]..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23556730/

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