Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 无法使用ApicController进行Owin身份验证质询_Asp.net_.net_Asp.net Mvc_Owin_Asp.net Apicontroller - Fatal编程技术网

Asp.net 无法使用ApicController进行Owin身份验证质询

Asp.net 无法使用ApicController进行Owin身份验证质询,asp.net,.net,asp.net-mvc,owin,asp.net-apicontroller,Asp.net,.net,Asp.net Mvc,Owin,Asp.net Apicontroller,我无法获取HttpContext.Current.GetOwinContext().Authentication.Challenge来扩展ApiController它只是没有做任何事情,甚至没有错误。我只得到输出“:” 我做错了什么?这甚至可以实现吗?这是一个Web API,控制器注册表导致我的自定义路由出现问题 扩展Controller public class AccountController : Controller { public void SignI

我无法获取
HttpContext.Current.GetOwinContext().Authentication.Challenge
来扩展
ApiController
它只是没有做任何事情,甚至没有错误。我只得到输出“:”

我做错了什么?这甚至可以实现吗?这是一个Web API,
控制器
注册表导致我的自定义路由出现问题

扩展
Controller

    public class AccountController : Controller
    {
        public void SignIn()
        {
            // Send an OpenID Connect sign-in request.
            if (!Request.IsAuthenticated)
            {
                HttpContext.GetOwinContext().Authentication.Challenge(new AuthenticationProperties { RedirectUri = "/" }, OpenIdConnectAuthenticationDefaults.AuthenticationType);
            }
        }
    }
扩展
ApiController

    [RoutePrefix("api/auth")]
    public class AuthController : ApiController
    {
        [HttpGet, Route("signin")]
        public IHttpActionResult SignIn()
        {
            if (User == null || User.Identity.IsAuthenticated == false)
            {
                HttpContext.Current.GetOwinContext().Authentication
                    .Challenge(new AuthenticationProperties() {RedirectUri = "/"}, OpenIdConnectAuthenticationDefaults.AuthenticationType);

                return Ok(":(");
            }

            return Ok(":)");
        }
    }
这不允许我的
ApiController
路由工作

        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new {controller = "Home", action = "Index", id = UrlParameter.Optional}
            );
        }