ASP.NET MVC4 и аутентификация веб-API + авторизация (Windows 8 и Web)

Я создал веб-приложение ASP.NET MVC 4 с помощью Simple Membership db для хранения пользователей, ролей и профилей.

В моем приложении я создал контроллер веб-API, который будет отвечать на http:// 127.0.0.1/api/users, и этот вызов вернет список всех пользователей, хранящихся в db, как JSON.

UsersController украшен атрибутом [Authorize], поэтому любой вызов http:// 127.0.0.1/api/users должен быть аутентифицирован.

На главной странице у меня есть кнопка, которая после нажатия jQuery выполняется запрос ajax get и отображает список пользователей, возвращаемых веб-API (json).

Если я вошел в систему и нажимаю кнопку, все работает нормально... список пользователей извлекается и отображается.

Если я не зашел в систему, сообщение показывает 401 - Unauthorized (пользовательское сообщение в состоянии jquery call statusCode), поэтому оно работает так, как должно, из-за атрибута [Authorize].

Мой вопрос: как я могу аутентифицироваться, когда веб-API делает запрос к нему, чтобы получить список пользователей и показать их из приложения Windows 8 или Windows Phone 8 или Windows Forms, например? Другими словами, от клиента, отличного от веб-браузера?

Ответ 1

Вы должны сделать еще один api, который проверяет подлинность из приложения Windows 8 или Windows.

Если его пароль успешно прошел проверку подлинности, вам нужно только показать список пользователей клиенту.