【发布时间】:2013-12-09 04:15:23
【问题描述】:
我正在尝试为另一个 MVC 站点访问的 MVC Web API 配置身份验证。我在 web.config 中尝试了很多东西,来自 SO 的许多建议。然而一切都无济于事。
我正在使用来自 MVC 网站的以下代码:
var web = new WebClient();
web.UseDefaultCredentials = false;
web.Credentials = new NetworkCredential(username, password);
然后,我使用该 Web 客户端调用其他仅包含 API 控制器的 MVC 站点上的方法。如果没有身份验证,一切都会正常工作,但我无法让身份验证正常工作。发出请求时,我得到一个返回 401 的异常(如果您问我,这是一件好事,但它似乎没有发送凭据)。
我也尝试在 URL 中输入用户名和密码,但也没有用。
这里是 Web API 站点的 web.config 文件的相关部分:
<authentication>
<forms
cookieless="UseUri"
enableCrossAppRedirects="false">
<credentials passwordFormat="Clear">
<user name="site" password="XYZ123!"/>
</credentials>
</forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
我想在其中放置一个用户名/密码,以确保它是调用方法的网站。顺便说一句,我的 API 控制器具有“授权”属性。
我的问题是:如何向 Web API 站点添加身份验证,以便我可以使用身份验证对其调用方法?
【问题讨论】:
标签: c# .net asp.net-mvc asp.net-web-api