ASP.NET MVC - HTTP-запрос аутентификации
Можно ли заставить мое приложение запрашивать имя пользователя и пароль перед отображением представления? Так же, как в 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] такой же, так как я считаю, что это просто перенаправление, и оно перенаправляет вас на внутренний контроллер учетных записей, который основан на базе данных учетных записей, в этом случае я буду использовать другую базу данных, в частности из веб-сервис и выполнить проверку после предоставления информации. Но мне нужно действие, чтобы потребовать от пользователя и передать учетные данные по его запросу.
заранее спасибо
ОБНОВИТЬ:
На самом деле, чтобы запросить страницу, требующую такой аутентификации (т. Е. Twitter), я должен объявить об этом по ее запросу.
request.Credentials = new NetworkCredential("username", "password");
И это будет отражать это имя пользователя и пароль.
Так что это точно то же самое, но с другой стороны, если это возможнопредоставлять информация для запроса аутентификации по запросу, как я могутребовать это аутентификация по запросу вместо?
Поэтому каждый раз, когда кто-то пытается сделать запрос на мое приложение на примере:
Http: // MyApplication / клиенты / verify_credentials
он должен запросить имя пользователя и пароль с этой подсказкой сервера, чтобы получить информацию о curl, например, это было бы так
curl -u user:password http://myapplication/clients/verify_credentials