关于json接口授权问题

刘小安 2014-10-09 02:10:03
我现在写了一个MVC4作为一个json接口,向请求网站输送json数据,因为是跨域的,我现在该怎么做授权?请求端是一个网站,直接调用我的接口获取数据显示在请求端的网站上。
求解,这个怎么解决?100高分求助。
...全文
389 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
私钥+时间戳,你看怎么样
lshfong 2014-10-15
  • 打赏
  • 举报
回复
用白名单或黑名单
ayanamireizero 2014-10-15
  • 打赏
  • 举报
回复
借用腾讯微信API....给用户一个ACCESSTOKEN,APPID,访问时检查accesstoken和appid...
qzyf1992 2014-10-14
  • 打赏
  • 举报
回复
自己设置一套安全的ip 在beginrequest里比对这个访问的ip是不是在你这套安全的ip里
  • 打赏
  • 举报
回复
引用 8 楼 u010781074 的回复:
你好 有代码示例吗?
就直接把请求IP直接拿去比对字符串就行了啊

/// <summary>
/// 判断IP是否在局域网中
/// </summary>
/// <param name="ip"></param>
/// <returns></returns>
public static bool IsIpInLAN(string ip)
{
    if (ip == "::1") return true;

    string lanIps = System.Configuration.ConfigurationManager.AppSettings["lanip"]; //eg: "111.111.1.*" or "111.111.*.*"
    int index = lanIps.IndexOf("*");
    if (index == -1)
        return ip == lanIps;
    else
        return (ip.Substring(0, index - 1) == lanIps.Substring(0, index - 1));
}
如果你那儿请求端网站的IP能固定,你直接判断 if(requestid==id)就完了
刘小安 2014-10-14
  • 打赏
  • 举报
回复
引用 6 楼 u011710947 的回复:
正好做过 不过我过滤的是外网 原理差不多 就放个白名单,比如只能腾讯官网访问你这个服务 当你服务被调用的时候,把请求地址抽出来,看这个地址在不在白名单里
你好 有代码示例吗?
myhope88 2014-10-10
  • 打赏
  • 举报
回复
楼上说得有道理
  • 打赏
  • 举报
回复
正好做过 不过我过滤的是外网 原理差不多 就放个白名单,比如只能腾讯官网访问你这个服务 当你服务被调用的时候,把请求地址抽出来,看这个地址在不在白名单里
  • 打赏
  • 举报
回复
要研究其它“复杂的”授权机制,你可以随便拿出一两个成熟的大网站,看看人家的“开放api”是怎么做的。 复杂的授权机制,是为了应对各种非常复杂的需求。例如确实是不能假设“请求者”用什么平台、能不能有一个相对稳定的IP、是手机还是pc机、是否需要从用户网站到登录网站来回切换,等等。
  • 打赏
  • 举报
回复
另外,这跟asp.net mvc其实没有什么关系,只要说明是asp.net就行了。 所谓mvc,是指UI机制。可是你作为服务,根本没有UI。所以你使用ashx才是比较适合的,使用带有界面输出流程的页面是多余的。
  • 打赏
  • 举报
回复
请求网站访问你的网站,不是你访问它。 如果一个网站服务器它访问你的服务器是“IP在变化”,那么你就让它每次变化时通知你呗。
刘小安 2014-10-09
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
把网站的 IP 放到你的配置文件里就行了。
请问下,我如果放个网站域名,不放IP,有没有可能别人模拟该网站进行请求呢?因为那个域名可能IP在变化
  • 打赏
  • 举报
回复
把网站的 IP 放到你的配置文件里就行了。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧