easyui,ajax调用webapi的跨域以及权限认证和Session取值问题

webapi设置允许跨域的方法如下

config.EnableCors(new EnableCorsAttribute("*", "*", "*"));

具体的设置方法可以参照另一个博客:https://blog.csdn.net/u010593753/article/details/89215486
部署到IIS上一切正常
当加入权限认证的时候问题就来了
WebApi后端我是用 FormsAuthenticationTicket 做的权限验证,这里不做具体介绍
在这里插入图片描述
在api控制器里加上[RequestAuthorize],当调用里面的方法时就会进行验证了
如果对方法不用验证,比如登录,则可以加上 [AllowAnonymous] 即可,如下图:
在这里插入图片描述
服务端基本就完成了,前端ajax调用时head需要加上验证,如下图
在这里插入图片描述
当加上这句话的时候前端就报错了,请求都到不了服务端,百度了下原来是对于特殊的请求头会先发送options获取信息然后在发送数据,iis会一直拦截提示跨域问题,不知道怎么设置iis跳过options的检查,后来就把代码跨域注释掉了,改成了iis配置如下图:
在这里插入图片描述
跨域问题暂时解决了,再来服务端,服务端生成的token准备存放在session中,测试代码如下
在这里插入图片描述
前端ajax获取的时候发现没获取到,百度了很久终于找到答案了
在ajax里加上如下图:
在这里插入图片描述
即可解决问题,搞了几天前后端的调试终于结束,
学习中,不到之处敬请谅解,记下来供日后参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值