相关疑难解决方法(0)

未经授权的webapi呼叫返回登录页面而不是401

如何配置我的mvc/webapi项目,以便从剃刀视图调用的webapi方法在未经授权时不返回登录页面?

它是一个MVC5应用程序,它也有通过javascript调用的WebApi控制器.

以下两种方法

[Route("api/home/LatestProblems")]      
[HttpGet()]
public List<vmLatestProblems> LatestProblems()
{
    // Something here
}

[Route("api/home/myLatestProblems")]
[HttpGet()]
[Authorize(Roles = "Member")]
public List<vmLatestProblems> mylatestproblems()
{
   // Something there
}
Run Code Online (Sandbox Code Playgroud)

通过以下角度代码调用:

angular.module('appWorship').controller('latest', 
    ['$scope', '$http', function ($scope,$http) {         
        var urlBase = baseurl + '/api/home/LatestProblems';
        $http.get(urlBase).success(function (data) {
            $scope.data = data;
        }).error(function (data) {
            console.log(data);
        });
        $http.get(baseurl + '/api/home/mylatestproblems')
          .success(function (data) {
            $scope.data2 = data;
        }).error(function (data) {
            console.log(data);
        });  
    }]
);
Run Code Online (Sandbox Code Playgroud)

所以我没有登录,第一个方法成功返回数据.第二种方法返回(在成功函数中)包含等效登录页面的数据.也就是说,如果你请求一个标有[授权]并且你没有登录的控制器动作,你会在mvc中获得什么.

我希望它返回401未授权,以便我可以根据用户是否登录显示不同的数据.理想情况下,如果用户已登录,我希望能够访问Controller的用户属性,以便我可以返回特定于该成员的数据.

更新:由于下面的建议似乎都不再适用(对Identity或WebAPI的更改)我在github上创建了一个原始示例,它应该说明问题.

c# asp.net-web-api owin asp.net-mvc-5 asp.net-identity

176
推荐指数
8
解决办法
8万
查看次数

如何在ASP.NET Core中返回401而不是302?

当用户未登录时,我试图让ASP.NET Core Identity返回401.我已经[Authorize]为我的方法添加了一个属性,而不是返回401,它返回302.我已经尝试了很多建议但是似乎没什么用,包括services.Configureapp.UseCookieAuthentication设置LoginPathnullPathString.Empty.

c# asp.net-core asp.net-core-identity

24
推荐指数
5
解决办法
1万
查看次数

在ASP.NET Core中禁用未授权重定向到帐户/登录

我在共享库中有一组WebAPI服务.这些用于ASP.NET Core MVC Web站点和仅托管不带MVC组件的WebAPI服务的专用服务器.

一切按预期在MVC网站上以未经授权的请求工作,我得到304重定向到登录页面(帐户/登录).但是,当我向WebAPI服务发出未经授权的请求时,我收到相同的304重定向到/ Account/Login,在这种情况下,我想返回Http 401 Unauthorized结果代码.我宁愿不在自定义AuthorizeAttribute中处理它,而是宁愿在我的Startup类中的站点级别处理.

asp.net-core asp.net-core-webapi asp.net-core-identity

6
推荐指数
1
解决办法
4132
查看次数