asp.net-web-api C WebAPI:403在发布网站后被禁止
发布时间:2023-12-16 14:05:48 所属栏目:asp.Net 来源:DaWei
导读: 好吧,我很难找到问题,因为它在本地工作,但在发布后,结果很简单:
错误代码:403禁止.服务器拒绝指定的统一资源定位符(URL).联系服务器管理员. (12202)
代码:
[RoutePrefix("ap
错误代码:403禁止.服务器拒绝指定的统一资源定位符(URL).联系服务器管理员. (12202)
代码:
[RoutePrefix("ap
好吧,我很难找到问题,因为它在本地工作,但在发布后,结果很简单: 错误代码:403禁止.服务器拒绝指定的统一资源定位符(URL).联系服务器管理员. (12202) 代码: [RoutePrefix("api/v1/project")] public class ProjectController : BaseApiController { [HttpGet] public HttpResponseMessage GetProjects() { HttpResponseMessage resp = new HttpResponseMessage(HttpStatusCode.OK); if(User.Identity.IsAuthenticated) { var model = new ModelFactory().CreateProjects(); resp = Request.CreateResponse(HttpStatusCode.OK,model); } return resp; } } public static class WebApiConfig { public static void Register(HttpConfiguration config) { // all actions under /project routes require authentication config.Routes.MapHttpRoute( name: "ProjectApi",routeTemplate: "api/v1/{controller}/{action}/{apikey}",defaults: new { apikey = RouteParameter.Optional },constraints: new { controller = "project" },handler: new BasicAuthHandler(config)); // all routes requires an api key config.MessageHandlers.Add(new ApiKeyHandler()); config.MapHttpAttributeRoutes(); } }我已经从网上尝试了几个“解决方案”,但似乎没有一个解决这个问题.我添加了: // Stop IIS/Asp.Net breaking our routes RouteTable.Routes.RouteExistingFiles = true;来自:http://www.grumpydev.com/2013/09/17/403-14-error-when-trying-to-access-a-webapi-route/ 并确保: <modules runAllManagedModulesForAllRequests="true">拥有上面的代码,使用以下链接提供了一个成功的连接,它检查(按正确的顺序)APIkey(ApiKeyHandler),检查用户是否需要登录(BasicAuthHandler)然后转到控制器中的方法({controller }/{行动}). // THIS WORKS! http://localhost:51077/api/v1/project/getprojects?apikey=123456然后我们做一个发布并尝试相同的事情 // This is haunted with number 403 http://website.com/api/v1/project/getprojects?apikey=123456给出错误代码:403 Forbidden. 我很无能为力.我甚至尝试将“NETWORK SERVICE”的整个发布文件夹的安全设置更改为完全访问权限..没有变化. 如果您需要更多英特尔,请告诉我. 解决方法 称为Web服务器计算机,他们有一个防火墙阻止传入的webapi调用进行身份验证.它现在应该工作:)(编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在HiddenField asp.net中存储一个字符串数组
- asp.net – 如何在gridview中将navigateurl添加到超链接
- 我应该在ASP.NET MVC中构建我的下一个Web应用程序吗?
- asp.net-mvc – AntiXss保护Html模型属性
- asp.net-mvc – 在MVC4中为ViewModel设置默认值的适当方法?
- SqlServer如何给表添加新的字段以及字段注释
- 如何在ASP.NET中的GridView中定义CellPadding
- asp.net – VirtualPath位于当前应用程序根目录之外
- 密码由6-12位数字或字母组成,密码哈希加密
- asp.net – 请求URL在IIS 7中无效
推荐文章
站长推荐
热点阅读
- asp.net C MVC4 C ContextDependentView C
- asp.net-mvc-3 C 如何从ASP.NET MVC#输出中
- asp.net-mvc C 已经使用相同的参数类型定义
- asp.net-mvc C 使用AD的ASP.NET MVC表单Aut
- ASP.Net C AJAX UpdatePanel中的Javascript
- asp.net-mvc C ASP.NET MVC中的WebApi [Fro
- asp.net-core C 如何使用ASP.NET注册OData
- asp.net C 适用于多个用户的EWS通知中心
- asp.net-mvc C 未在ELMAH中记录的错误
- asp.net-mvc C MVC应用程序中的随机数生成