传递某些编码的特殊字符时,Web API返回404

时间:2015-05-07 12:28:47

标签: .net json asp.net-web-api2

我正在使用带有属性路由的Web API 2来授权用户,为了做到这一点,我使用纯文本密码(初始登录时)或加密密码(在后续登录时)调用该方法。使用纯文本密码的初始调用很有效,但是当我尝试通过包含编码特殊字符的加密密码时,它会返回404错误代码。

当我从密码字符串中删除编码的特殊字符(:'%3A'和+'%2B')时,调用正常;为了排除最大长度问题,我还尝试使用比加密字符串长得多的字符串,并且再次正常工作。

编码的API调用如下:

https://<domain>/auth/AuthoriseUser/bob/1000%3AsK6xKXyNORYSoDbNDMnIjhLxZxReYh6ji%3AJmomj1IxqHGXXFXVJSdA5MxpkUWB1OM%2B/Android/true

我正在使用的属性路由是:

[Route("auth/AuthoriseUser/{username}/{password}/{appId}/{passwordEncrypted}")]

任何帮助都会受到大力赞赏!

0 个答案:

没有答案