Когда я вызываю его через ajax после отправки формы, он показывает ошибку как " HTTP error 405.0-метод не разрешен"
Цитата:У меня есть проблема с веб-api для изменения pwd он работает правильно в fiddler, но когда я вызываю его через ajax после отправки формы, он показывает ошибку как " HTTP Error 405.0-Method Not Alloweд"
Что я уже пробовал:
<pre>// Cotroller [HttpPut] public HttpResponseMessage Put([FromUri]string oldPwd, [FromBody]Hotel_Login Hotel_Login) { using (Hotel_ShowEntities entities = new Hotel_ShowEntities()) { try { var entity = entities.Hotel_Login.FirstOrDefault(e => e.Password == oldPwd); if (entity == null) { return Request.CreateErrorResponse(HttpStatusCode.NotFound, "Customer with that Password=" + oldPwd.ToString() + "not found"); } else { entity.Password = Hotel_Login.Password; entities.SaveChanges(); return Request.CreateResponse(HttpStatusCode.OK, entity); } } catch (Exception ex) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex); } } } //Ajax call $(document).ready(function () { $("#btnSubmit").click(function () { var CurrentPwd = $("#CurrPwd").val(); var Newpwd = $("#NewPwd").val(); console.log(Newpwd); $.ajax({ type: "Put", url: "http://localhost:16580/api/ChangeForgetPass/Put?oldPwd=" + CurrentPwd, contentType: "application/json", dataType: "json", processData: true, data: '{"Password":"' + Newpwd + '"}', success: function (s) { alert("Password Changed successfully"); }, }); }); });
F-ES Sitecore
Не уверен, что параметры querystring работают с PUT, возможно, вам придется поместить все ваши переменные в body\data.
Richard Deeming
Итак, вы запрещаете двум пользователям иметь один и тот же пароль? Или просто изменить пароль для всех пользователей, которые используют один и тот же пароль, когда один из них меняет свой пароль?
В любом случае, это массовый сбой системы безопасности.
И разговоры о безопасности терпят неудачу, НИКОГДА храните пароли в виде простого текста!
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хеширование паролей - все правильно[^]
Member 12840365
Я пытаюсь изменить пароль
первый пользователь введет старый пароль
код проверит, существует ли этот старый пароль в базе данных
если этот старый пароль существует в базе данных, то он изменит новый пароль, введенный пользователем через HTML-форму