如何配置我的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上创建了一个原始示例,它应该说明问题.
我已经看到.Net 4中引入了元组,但我无法想象它可以在哪里使用.我们总是可以创建一个Custom类或Struct.
当调试asp.net代码(针对IIS运行,并使用Visual Studio 2013)并在断点中尝试使用快速监视来评估变量时,我经常会"无法评估表达式".
从asp.net项目文件夹中删除.suo似乎解决了问题(重新加载解决方案后)
这是一个公认的错误吗?现在在Visual Studio 2013中在多台计算机上获得了很多.
是否可以使用当前预览通过IIS和VS2015调试和运行ASP.Net5 MVC6应用程序?(CTP5).
当我查看可用的项目选项(项目属性/调试/调试目标)时,我只在下拉列表中提供了IIS express.
在ASP.NET Core MVC(以前称为MVC 6)中,有一个名为View Components的新功能区域,它似乎是部分视图的更好替代方案.我见过以下View Component Example.但目前似乎没有更多关于其使用的信息.
我正在尝试评估它是否值得使用这种模式,如果这可以/(或打算)被用作更好的方法来帮助甜甜圈缓存.
使用MVC4 Razor和Entityframework 5.我有一个名为organization的表,它有一个整数TypeID字段,我创建了一个枚举类型.在代码中,我可以使用枚举设置和比较typeid.
public enum OrganisationType : int
{
Company = 1,
Department = 2,
Location = 4
}
Run Code Online (Sandbox Code Playgroud)
但是当我使用默认的vs2012 mvc 4 razor模板或者通过mvcscaffolding nuget包生成create.cshtml时,都会忽略TypeID字段.我正在考虑修改tt模板,以便它们自动生成.但最初是可以在下拉列表中显示枚举的描述性名称.
将Microsoft.AspNet.Identity.Core升级到1.0.0-rc1后,AccountController.cs和AppModel.cs类中出现了几个错误,这些错误由Visual Studio 2013中的默认MVC5模板生成.
是否有任何发行说明来解释如何解决重大变化?
entity-framework-6 visual-studio-2013 asp.net-mvc-5 asp.net-identity
我们正在设计一个 Azure 网站,它允许用户上传内容(MP4、Docx...MSOffice 文件),然后可以访问这些内容。
在流式传输(使用Azure 媒体服务)之前,我们将对某些视频内容进行编码以提供多种不同质量的格式。
我们需要添加一个中间步骤,以便我们可以扫描上传的文件是否存在潜在的病毒风险。是否有内置于 azure(或第三方)的功能允许我们在处理内容之前调用 API 来扫描内容?理想情况下,我们正在寻找 API 而不仅仅是 VM 上的后台服务,因此我们可以获得可能用于 Web 或辅助角色的反馈。
快速浏览了 Symantec Endpoint 和 Windows Defender,但不确定它们是否提供 API
有没有办法从合并过程中排除指定的文件?当从我们的生产分支合并到测试分支以供测试人员使用时,我们想要排除包含SQL连接字符串的配置文件.合并后防止需要编辑它.我确实看到了关于使用斗篷选项的评论,但我只能看到这可用于文件夹而不是文件.
蒂姆
使用角度数组如何在两个数组之间添加和删除元素?我有$scope.results
和$scope.list
结果数组是调用WebAPI的结果,我允许用户选择他们想要添加到第二个数组的元素.如何从第一个添加到第二个并同时从第一个删除?
angular.forEach($scope.results, function (item) {
if (item.selected) {
$scope.list.push(item);
//CODE TO REMOVE item from $scope.results here.
};
});
Run Code Online (Sandbox Code Playgroud)
另外,如果我进行第二次搜索并尝试将第一个数组中的相同成员添加到我的第二个数组(已经有此用户),我如何防止向第二个数组(列表)添加重复项?.
下面是我想要在数组之间传输的对象的示例.id字段是唯一性的指标.