angularJs – 405方法不允许在WebAPI2(OWIN)
发布时间:2020-12-17 08:06:47 所属栏目:安全 来源:网络整理
导读:我正在为我的API设置一个WebAPI端点,但是无法将我的AngularJS调用到我的PostRegister方法工作。 webAPI和Angular位于不同的站点上。 在Startup.cs我有: public void Configuration(IAppBuilder app) { ConfigureOAuth(app); var config = new HttpConfigur
我正在为我的API设置一个WebAPI端点,但是无法将我的AngularJS调用到我的PostRegister方法工作。
webAPI和Angular位于不同的站点上。 在Startup.cs我有: public void Configuration(IAppBuilder app) { ConfigureOAuth(app); var config = new HttpConfiguration(); WebApiConfig.Register(config); app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll); app.UseWebApi(config); } private void ConfigureOAuth(IAppBuilder app) { var oAuthServerOptions = new OAuthAuthorizationServerOptions { AllowInsecureHttp = true,TokenEndpointPath = new PathString(Paths.TokenPath),AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(30),Provider = Kernel.Get<IOAuthAuthorizationServerProvider>() }; app.USEOAuthAuthorizationServer(oAuthServerOptions); OAuthBearerOptions = new OAuthBearerAuthenticationOptions(); app.USEOAuthBearerAuthentication(OAuthBearerOptions); } 然后在控制器上,我的方法设置为允许匿名: [AllowAnonymous] public bool PostRegister(UserSignupForm form) { ... } 我也更新了web.config: <system.webServer> <handlers> <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <remove name="OPTIONSVerbHandler" /> <remove name="TRACEVerbHandler" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> </handlers> </system.webServer> 在角度方面,我做了一个简单的$ http.post调用: saveRegistration: function (registration) { return $http.post(baseUrl + '/api/signup/register',registration).then(function (response) { return response; }); } 当使用Postman进行调用时,我得到了一个成功的响应,但是当从Angular进行相同的调用时,我得到了405错误。 BitOfTech示例站点正在发送相同的请求标头,但能够获取Access-Control-Allow-XXX标头 我已经更新了我的代码以跟随Token Based Authentication using ASP.NET Web API 2,Owin,and Identity
最近我有类似的问题。我为飞行前的OPTIONS请求添加了控制器处理程序,解决了这个问题。
[AllowAnonymous] [Route("Register")] [AcceptVerbs("OPTIONS")] public async Task<IHttpActionResult> Register() { return Ok(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在Snipmate.vim片段中更改案例?
- 【Angular2】组件交互
- angularjs – 我自己的角度材料样式ui
- WebService详解以及C#如何创建WebService和WebService的引用
- 事件 – Angular 2 – 在(click)事件中使用管道
- scala – 如何使用Spark Dataframe在没有SQL查询的情况下检
- scala – 未来回调方法与Promises [成功与失败]之间的区别?
- 基于bootstrap的仿站练习01
- 【Angular】理解Angular中的$apply()以及$digest()
- 我可以阻止Angular.js的json过滤器排除以$开头的属性吗?