Использование базового web-сервиса auth rest из приложения бритвенной модели .net mvc 2.0 - PullRequest
0 голосов
/ 08 июля 2019

Мне нужно использовать спокойный веб-сервис с базовой аутентификацией из приложения .mode.

Это все часть унаследованного проекта, которому требуется новый пользовательский интерфейс для использования некоторых новых компонентов, и раньше он имел пользовательский интерфейс Webforms.

Я установил пользовательский менеджер и пользовательский склад. Я могу назвать restful методы, которые я переписал, и я могу войти в систему.

Однако мне нужно, чтобы имя пользователя и пароль были указаны в каждой модели PageModel, и я не знаю, как восстановить пароль после входа в систему.

Например, когда пользователь заходит на страницу индекса, мне нужно что-то извлечь из службы

var client = new RestClient(ConfigurationManager.AppSettings["cslLink"] +
                                                    "/BusinessEntityService.svc/GetMainItemGridView");
            var request = new RestRequest(Method.GET);
            client.Authenticator = new HttpBasicAuthenticator(User.Identity.Name, "hardcodedpassword");
            IRestResponse response = client.Execute(request);

            JsonArrayGridViewDataSOurce = response.Content;

Я могу получить имя пользователя, но не пароль.

Можно ли как-нибудь получить пароль?

Есть ли другой способ сделать это?

Я могу изменить услугу, если нужно, но я должен сделать это как можно быстрее с наименьшим количеством изменений.

1 Ответ

0 голосов
/ 08 июля 2019

Нет. Нет способа восстановить пароль. Он хранится как односторонний зашифрованный и соленый хеш. Даже если бы вы могли получить это, это не принесло бы вам никакой пользы, поскольку это уже не «пароль». При входе в систему пароль, который вы вводите, также засоляется и хэшируется, а затем просто сравнивается с тем, что находится в базе данных. Только через сравнение двух хешей можно подтвердить пароль, а не сравнивать буквальный пароль, введенный пользователем.

...