Как зарегистрировать учетную запись в моем веб-приложении MVC 5 без использования формы или веб-страницы?
Я создал новый проект, используя шаблон веб-приложения ASP.NET в Visual Studio 2015. Затем я выбрал MVC и индивидуальные учетные записи пользователей, чтобы дополнительно указать шаблон. Решение, которое я получил, является полным в том, что оно предлагает мне все веб-страницы, необходимые для управления учетной записью, такие как регистрация и вход в систему.
Однако теперь я хочу подключить мобильный клиент Xamarin.Forms к этой схеме управления учетными записями. Я делаю собственный пользовательский интерфейс для регистрации пользователей, вместо того, чтобы перенаправлять их на веб-страницу или веб-просмотр. Я хочу отправить регистрационные данные пользователя, такие как имя пользователя и пароль, из этого интерфейса на сервер, чтобы он создал учетную запись. Это означает, что я не хочу использовать веб-страницы, предлагаемые моим приложением MVC, а скорее отправляю регистрационные данные на сервер и создаю учетную запись, уведомляя меня об успехах или неудачах.
Я ожидаю, что мне нужно будет либо использовать HTTP POST для входа в систему и регистрации конечных точек в AccountController, либо реализовать публичный API. Однако создание сообщения вернет веб-страницу, и мой клиент не заинтересован в веб-странице.
Я думаю, что одно из вышеперечисленного должно быть возможно реализовать довольно легко, но мне трудно искать ответы или методы, так как я не знаю, как правильно сформулировать свою проблему, и из-за обилия руководств по MVC, все мои результаты мутные.
Является ли моя идея об этом возможной ошибкой или я пропустил фундаментальную концепцию MVC? Какие шаги я должен предпринять, чтобы сделать это возможным?
2 ответа
Одно заблуждение состоит в том, что выполнение POST вернет веб-страницу. Вы можете вернуть любой тип контента с контроллера MVC. Но конечные точки регистрации вашей учетной записи должны быть контроллерами Web API, которые возвращают JSON. Этот JSON может быть таким же простым, как и логическое значение, которое указывает, было ли действие успешным или нет.
Вам не нужно использовать MVC вообще. Вы можете полностью отказаться от контроллеров учетных записей и представлений, которые шаблон создал для вас. Просто скопируйте необходимый код с контроллеров MVC в ваши методы Web API.
Вы правы, это довольно легко сделать.
Я думаю, вы можете использовать ASP.NET Web API для выполнения этой задачи. На сервере вы размещаете свой API для регистрации пользователей, а также для входа в какое-либо клиентское приложение.
Теперь вам нужно использовать этот API в клиентском приложении. Клиентское приложение может быть консольным приложением, приложением Windows или веб-приложением. На официальном сайте ASP.NET есть множество руководств по созданию веб-API.