是否可以让我的应用程序在呈现视图之前要求用户名和密码提示?就像在 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# 上做到这一点。我已经在 ruby rails 上使用过它,它非常简单,例如:
before_filter :authenticate
def authenticate
authenticate_or_request_with_http_basic do |username, password|
username == "foo" && password == "bar"
end
我不认为 [Authorize] 过滤器是相同的,因为我相信它只是一个重定向,它会将您重定向到基于帐户数据库的帐户内部控制器,在这种情况下,我将使用另一个数据库,特别是来自webservice 并在提交信息后进行验证。但我需要采取行动来要求用户并根据其请求传递凭据。
提前致谢
更新:
实际上,要请求需要此身份验证的页面(即 Twitter),我必须在其请求中声明这一点
request.Credentials = new NetworkCredential("username", "password");
这将反映提示的用户名和密码。
所以,这完全一样,但从另一方面来说,如果可以根据请求向身份验证提示提供信息,我怎么能要求对请求进行此身份验证呢?
因此,每次有人尝试向我的应用程序发出请求时:
http://myapplication/clients/verify_credentials
它应该使用该服务器提示询问用户名和密码,以便检索有关 curl 的信息,例如它会是这样的
curl -u user:password http://myapplication/clients/verify_credentials