Ron*_*ers 5 .net c# asp.net-mvc asp.net-web-api
我正在尝试为另一个MVC站点访问的MVC Web API配置身份验证。我已经在web.config中尝试了很多东西,所以有很多建议。但是,一切都无济于事。
我正在从MVC网站使用以下代码:
var web = new WebClient();
web.UseDefaultCredentials = false;
web.Credentials = new NetworkCredential(username, password);
Run Code Online (Sandbox Code Playgroud)
然后,我使用该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>
Run Code Online (Sandbox Code Playgroud)
我只想在其中输入一个用户名/密码,以确保它是调用方法的网站。我的API控制器具有btw的“授权”属性。
我的问题是:如何向Web API网站添加身份验证,以便可以使用身份验证在其上调用方法?