Можно ли заставить мое приложение запрашивать имя пользователя и пароль перед отображением представления?
Как и в Twitter API, чтобы получить информацию о вашей учетной записи:
http://twitter.com/account/verify_credentials.xml
Так что перед рендерингом просмотра || Файл, который просит вас ввести имя пользователя и пароль, я думаю, что это сделано непосредственно на сервере, так как запрос curl основан на имени пользователя: пароль, а также, как это:
curl -u user:password http://twitter.com/account/verify_credentials.xml
Поскольку я пытаюсь создать API, следуя той же структуре, я хотел бы знать, как я могу это сделать на ASP.NET MVC C #. Я уже использовал это на рубиновых рельсах, и это довольно просто, как:
before_filter :authenticate
def authenticate
authenticate_or_request_with_http_basic do |username, password|
username == "foo" && password == "bar"
end
Я не думаю, что фильтр [Authorize] такой же, так как я считаю, что это просто перенаправление,
и он перенаправляет вас на внутренний контроллер учетных записей, который основан на базе данных учетных записей, в этом случае я буду использовать другую базу данных, в частности, из веб-службы, и выполню проверку после предоставления информации.
Но мне нужно действие, чтобы потребовать от пользователя и передать учетные данные по его запросу.
Заранее спасибо
UPDATE:
На самом деле, чтобы запросить страницу, которая требует этой аутентификации (т. Е. Twitter)
Я должен был бы заявить об этом по его запросу
request.Credentials = new NetworkCredential("username", "password");
И это будет отражать это имя пользователя и пароль.
Итак, это точно то же самое, но с другой стороны, если можно предоставить информацию для запроса аутентификации по запросу, как я могу потребовать эту аутентификацию по запросу вместо этого?
Так что каждый раз, когда кто-то пытается сделать запрос на мое приложение, например:
http://myapplication/clients/verify_credentials
он должен запросить имя пользователя и пароль с этим запросом сервера
таким образом, чтобы получить информацию о curl, например, это было бы так
curl -u user:password http://myapplication/clients/verify_credentials