首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何保护JsonResult?

如何保护JsonResult?
EN

Stack Overflow用户
提问于 2013-09-26 16:13:52
回答 1查看 99关注 0票数 0

关于另一个问题的this answer的第一部分解释了现有的MVC站点如何能够很快地将其数据公开(例如,向一个请求数据的Winforms应用程序),所有这些都用于几行代码(而不必转换到WCF/Web并添加额外的层--我们的项目非常小而且非常基本):

代码语言:javascript
复制
public JsonResult GetCategoryList()
{
    var list = //return list
    return Json(list, JsonRequestBehavior.AllowGet);
}

因此,我们已经测试了上面的快速和简单的解决方案,它显然是非常有效的,因为在流中,我们获得了MVC应用程序登录的html源代码。

实际上,如果我们添加AllowAnonymous注释,那么do就会得到我们想要的Json流。

但是我们不想允许匿名,我们需要一些保护。已经尝试添加:

代码语言:javascript
复制
   Dim nc As New NetworkCredential("username", "password")
   request.Credentials = nc

在解雇request.GetResponse之前,这是行不通的(这可能是完全无知的,但似乎值得一试)。当我说它不起作用时,我的意思是我们回到在流中获取登录页面的html源代码。

那么,如何允许winforms应用程序在其对数据的请求中包含某种身份验证(这将有效)?正如我所说的,获取数据是有效的(由AllowAnonymous证明)。

EN

回答 1

Stack Overflow用户

发布于 2013-09-26 16:28:59

您应该将web应用程序的身份验证代码(返回登录名的代码)与公开API的身份验证代码分开。

看起来您正在为WebSite部件使用forms身份验证,您应该保持这种状态。但是,在公共API GetCategoryList中,您应该使用ActionFilters实现不同的身份验证策略。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19033385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档