gpt4 book ai didi

asp.net-web-api - ASP.NET Web API - OWIN - TokenEndPointPath 在 IIS 中不起作用

转载 作者:行者123 更新时间:2023-12-01 23:34:06 25 4
gpt4 key购买 nike

我的startup.cs中有以下代码。当 Web API 项目部署到 IIS 中网站的根目录时,在 IIS Express 中设置 TokenEndpointPath 效果非常好。但是,如果我托管在 IIS 中的嵌套应用程序(即网站内的应用程序)中,对 token 端点的调用会导致 404。有没有办法使 TokenEndpointPath 基于实际 IIS 结构而不是根,因为它这里有吗?现在:

这有效

http://server:80/api/token

这不

http://server:80/app/api/token

    var request = HttpContext.Current.Request;
app.UseOAuthAuthorizationServer(newOAuthAuthorizationServerOptions
{
AllowInsecureHttp = true,
TokenEndpointPath = newPathString("/api/token"),
AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(oauthTokenTimeoutInMinutes),

Provider = new Provider.ActiveDirectoryAuthorizationServerProvider()
});

最佳答案

正如评论所述,我已经通过设置 TokenEndpointPath = new PathString("/api/Token") 测试了您的问题。首先,我的 connectionString 如下所示:

<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-WebApi-20150818041808.mdf;Initial Catalog=aspnet-WebApi-20150818041808;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

将项目发布到本地 IIS (7.5) 后,向

发送 POST 请求时收到 500 错误响应

http://localhost/webapi/api/token

然后我更新了connectionString,如下所示:

<connectionStrings>    
<add name="DefaultConnection" connectionString="Data Source=192.168.1.247;Initial Catalog=MyDB;Integrated Security=True;MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" />
</connectionStrings>

它的工作原理类似于以下屏幕截图:

enter image description here

关于asp.net-web-api - ASP.NET Web API - OWIN - TokenEndPointPath 在 IIS 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32853803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com