【发布时间】:2015-09-30 09:53:31
【问题描述】:
根据this question 上的回答,我默认为所有内容添加了授权,使用以下代码:
public void ConfigureServices(IServiceCollection aServices)
{
aServices.AddMvc(options =>
{
var lBuilder = new AuthorizationPolicyBuilder().RequireAuthenticatedUser();
var lFilter = new AuthorizeFilter(lBuilder.Build());
options.Filters.Add(lFilter);
});
aServices.AddMvc();
}
public void Configure(IApplicationBuilder aApp, IHostingEnvironment aEnv, ILoggerFactory aLoggerFactory)
{
aApp.UseCookieAuthentication(options =>
{
options.AuthenticationScheme = "Cookies";
options.AutomaticAuthentication = true;
});
}
但是,当有人试图访问未经授权的内容时,它会返回一个(似乎是默认的)重定向 URL (http://foo.bar/Account/Login?ReturnUrl=%2Fapi%2Ffoobar%2F)。
我希望它只返回 HTTP 401,而不是重定向。
如何在 ASP.NET 5 中为 WebAPI 执行此操作?
【问题讨论】:
-
请在此处包含您的代码,而不是链接到其他问题。
-
谢谢,我添加了代码。
-
嗨,这是所有代码吗?您使用什么身份验证?令牌、cookie、外部?
-
您好@Geerten,由于该方法不再有效,您能否更改已接受的答案?
标签: asp.net asp.net-web-api authorization asp.net-core