是否可以让我的应用程序在渲染视图之前要求输入用户名和密码提示?
就像在 twitter API 上获取有关您帐户的信息一样:
http://twitter.com/account/verify_credentials.xml 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] 过滤器是相同的,因为我相信这只是一个重定向,
它将您重定向到基于帐户数据库的帐户内部控制器,在这种情况下,我将使用另一个数据库,特别是来自网络服务的数据库,并在提交信息后进行验证。
但我需要采取行动来要求用户并根据其请求传递凭据。
提前致谢
UPDATE:
实际上是请求需要此身份验证的页面(即 Twitter)
我必须根据其要求声明这一点
request.Credentials = new NetworkCredential("username", "password");
这将反映提示的用户名和密码。
所以,这是完全相同的事情,但从另一面来看,如果可能的话provide根据请求向身份验证提示提供信息,我怎样才能require对请求进行此身份验证?
因此,每次有人尝试向我的应用程序发出请求时:
http://myapplication/clients/verify_credentials http://myapplication/clients/verify_credentials
它应该在服务器提示符下要求输入用户名和密码
例如,要检索有关卷曲的信息,就会像这样
curl -u user:password http://myapplication/clients/verify_credentials