这里我在web.config中使用表单身份验证:
<forms loginUrl="~/LogOn" timeout="2880" defaultUrl="~/Home/Index" name=".ASPXAUTH" protection="All" path="/" enableCrossAppRedirects="true" domain=".xyz.com" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
问题在于:(这里我称之为api url ..但它不会调用正确的方式..而不是它将重定向到其他网址,如下所示)
var response = client.GetAsync(apiUrl).Result;
这是apiUrl:
http://localhost:1849/Api/Ticket?UserId=10&start=0&length=10&searchstr=&orders=0&orderDir=asc
但它不会调用此api而是调用
http://localhost:1849/LogOn?ReturnUrl=%2fApi%2fTicket%3fUserId%3d10%26start%3d0%26length%3d10%26searchstr%3d%26orders%3d0%26orderDir%3dasc&UserId=10&start=0&length=10&searchstr=&orders=0&orderDir=asc
那我如何调用上面的api ???
答案 0 :(得分:0)
你对整个网站上的匿名用户有所否定。您需要先进行身份验证。
您可以使用web.config中的位置标记来允许匿名访问您的登录页面,以便您可以对其进行身份验证,然后它将允许访问您的API。
由于您使用的是API,因此可能需要使用与登录页面不同的身份验证方法。