asp.net-core - ASP.NET 5 中的 Request.IsAuthenticated 函数

标签 asp.net-core

ASP.NET 5 中是否存在与 Request.IsAuthenticated 等效的内容隐藏在某处,或者我们是否希望循环遍历用户的身份并自行确定?

最佳答案

如果您只需要知道 User 对象是否经过身份验证,则此属性应该可以解决问题:

User.Identity.IsAuthenticated

如果您需要防止未经身份验证的用户调用某个操作,那么以下属性类非常有用。

public class BasicAuthAttribute : ActionFilterAttribute, IAuthenticationFilter
{
    public void OnAuthentication(AuthenticationContext filterContext)
    {
    }

    public void OnAuthenticationChallenge(AuthenticationChallengeContext filterContext)
    {
        var user = filterContext.HttpContext.User;
        if (user == null || !user.Identity.IsAuthenticated)
        {
            filterContext.Result = new HttpUnauthorizedResult();
        }
    }
}

我在我的基本 Controller 类中使用它,如下所示。

[BasicAuth]
public abstract class BaseAuthorizedController : Controller

关于asp.net-core - ASP.NET 5 中的 Request.IsAuthenticated 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30632739/

相关文章:

ubuntu - Asp.Net Core - 已达到 inotify 实例数量的配置用户限制 (128)

asp.net-core - asp-for 标记在 asp.net 核心中的复选框上添加必填字段验证

c# - 禁止 web 应用程序下载 bootstrap 和 jquery

c# - JWT token 身份验证失败,并显示消息 "PII is hidden"

visual-studio-2015 - 使用 WebJob 发布简单的 Asp.Net Core App (.Net Framework)

c# - 使用 signalR 时忽略对象属性

c# - 如何访问 ASP.NET Core 中任何类中的配置?

c# - 优化 ASP.NET Core 发布包

Azure 应用服务问题 - 500.79 内部服务器错误

iis - 如何有条件地在 IIS 中禁用 Keep-Alive?