Kev*_*vin 6 asp.net-core asp.net-core-webapi asp.net-core-identity
我在共享库中有一组WebAPI服务.这些用于ASP.NET Core MVC Web站点和仅托管不带MVC组件的WebAPI服务的专用服务器.
一切按预期在MVC网站上以未经授权的请求工作,我得到304重定向到登录页面(帐户/登录).但是,当我向WebAPI服务发出未经授权的请求时,我收到相同的304重定向到/ Account/Login,在这种情况下,我想返回Http 401 Unauthorized结果代码.我宁愿不在自定义AuthorizeAttribute中处理它,而是宁愿在我的Startup类中的站点级别处理.
我怀疑您已经使用MVC(视图)部件以及WebApi部件注册了ASP.NET核心身份.
您必须将它与CookieMiddleware(一个注册的内部.UseIdentity()调用)分开,只能注册请求您的MVC页面,但不能注册您的WebAPI调用.
您可以使用.Map或MapWhen方法(请参阅文档).
// For requests not going to WebAPI controllers
app.MapWhen(context => !context.Request.Path.StartsWithSegments("/api"), branch =>
{
branch.UseIdentity();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4132 次 |
| 最近记录: |