我的应用程序是否可以在渲染视图之前提示输入用户名和密码来获取信息,就像Twitter API获取有关您帐户的信息一样:
http://twitter.com/account/verify_credentials.xml
因此,在渲染视图或文件之前,它会要求您插入用户名和密码。我认为这是直接在服务器上完成的,因为curl请求也是基于用户名:密码的,就像这样:
curl -u user:password http://twitter.com/account/verify_credentials.xml
我正在尝试构建一个API,遵循与Ruby on Rails相同的结构。请问在ASP.NET MVC C#中如何实现这一点?我已经在Ruby on Rails中使用过这个功能,并且很简单,像这样:
before_filter :authenticate
def authenticate
authenticate_or_request_with_http_basic do |username, password|
username == "foo" && password == "bar"
end
我认为[Authorize] 过滤器并不相同,因为我相信它只是一个重定向,会将您重定向到基于账户数据库的Accounts Internal Controller,在这种情况下,我将使用来自 Web 服务的另一个数据库,并在提交信息后进行验证。但我需要要求该操作要求用户和密码凭据。
提前致谢
更新:
实际上,要请求需要身份验证的页面(例如 Twitter),我需要在其请求中声明此内容。
request.Credentials = new NetworkCredential("username", "password");
这将反映出提示的用户名和密码。
因此,如果可能在请求时提供身份验证提示信息,那么如何在请求中要求进行身份验证呢?
所以每次有人尝试访问我的应用程序(例如:)
http://myapplication/clients/verify_credentials
它应该要求输入用户名和密码与服务器提示一起使用, 例如,在curl上检索信息就像这样:
curl -u user:password http://myapplication/clients/verify_credentials