ASP.NET Web API - OWIN - TokenEndPointPath 在 IIS 中不起作用

2024-03-16

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

这有效

http://服务器:80/api/token http://server:80/api/token

这不

http://服务器:80/app/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 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>

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET Web API - OWIN - TokenEndPointPath 在 IIS 中不起作用 的相关文章

随机推荐

  • iPad(非常)简单的绘图

    我正在尝试在我的应用程序中实现一个非常简单的绘图视图 这只是我的应用程序的一小部分 但它正在变成一个真正的麻烦 这是我到目前为止所拥有的 但它现在显示的只是莫尔斯电码 如点和线 void viewDidLoad super viewDidL
  • C# - 无法在 lambda 表达式中使用“is”运算符

    我正在使用 AgileMapper 和以下代码 source Map OnTo target options gt options IgnoreSources options gt options If value gt value is
  • 如何将 2 个数据帧直方图合并到 1 个图中?

    我想使用显示数据框中所有直方图的代码 那将是df hist bins 10 但是 我想添加另一个显示 CDF 的直方图df hist df hist cumulative True bins 100 density 1 histtype s
  • 如何在 Angular 中包含本地库?

    当我创建一个Angular我想构建一个库 我可以在其中放置甚至在其他项目中也有用的组件 为了创建这个库 我做了另一个Angular我在其中生成了库项目并使用工作区中自动生成的应用程序项目来显示各个组件 ng new my component
  • 使用 netbeans 将 ArrayList 加载到 JCombobox 中

    目前有一个名为 ArrayList周日列表一旦框架加载添加学生已加载 GUI 的位 Netbeans自动生成的代码是 comboboxSunday new javax swing JComboBox comboboxSunday setMo
  • 如何在 firebase android 的 recyclerview / cardlayout 中显示最新帖子在顶部而不是底部?

    我对 Java 和 Firebase 完全陌生 正在从事一个大学项目 制作类似电子商务应用程序的东西 但不是字面上的 有点相似 到目前为止 我新插入的数据默认位于底部 我需要将它们放在顶部 在 stackoverflow 上尝试了所有可能的
  • HTML 音频元素第一次无法播放?

    我正在使用 htmlaudio我的一个项目中的一个元素 一旦按下播放按钮 我就会使用 VueJS 动态加载该元素的 src 一切似乎都工作正常 但是当我第一次按下按钮时 音频无法播放 我必须再次单击播放按钮才能开始播放 我怎样才能解决这个问
  • 如何使用 LayoutInflater / ViewStub 进行覆盖

    由于我实际上对以编程方式更改视图不太有信心 因此我遇到以下问题 在我的应用程序第一次启动时 我希望主屏幕有一个覆盖层 告诉用户查看设置 因为用户必须配置两个关键选项 我不想使用AlertDialog而不是使用向导 因此 我决定采用类似于 G
  • 添加外键错误

    我想从表中添加外键Customers row Customer ID 到餐桌宠物 row Customer ID Table structure for table Customers CREATE TABLE IF NOT EXISTS
  • 2D 变换过渡不适用于 IE11 中的 VW 和 VH 单位

    当我尝试使用过渡来为变换 TranslateY 制作动画时 我在 IE11 和 10 上遇到了一个奇怪的问题 我有一个天空盒 里面有一个天空 高度为 500vh 该天空必须根据视口中的当前部分上下移动 视口是一个绝对 位置元素 用于处理内容
  • Spring + Hibernate save() 不工作

    我在下面附上 Spring 服务 有问题 代码 Async public void performSeismicOperations Integer sessionUserId int seismicFileId String seismi
  • 在 Rails 6 中省略 bin/rails 路由中的操作邮箱、activestorage 和conductor 路由?

    我有一个全新的 Rails 6 应用程序 但没有anything in the config routes rb 输出bin rails routes有大量 ActiveStorage Action Mailbox 和 Conductor
  • 如何控制 .Net 在命名空间冲突中选择哪个程序集?

    由于某种原因 我需要 请耐心等待 使用 System Text Encoding 命名空间的 WinRT 版本 我可以手动添加对程序集的引用等 但它仍然会使用 mscorlib 的实现 而且我显然无法完全删除 mscorlib 如何强制我的
  • stargazer type = "html" 表输出中列之间的空格

    我正在寻找一种方法 或替代方案 来获取 stargazer html table 输出的列之间的空格 As stargazer stargazer mtcars type html 结果是 这不太好读 提前致谢 Samuel 您还可以将 C
  • 在 shell 中重命名多个文件[重复]

    这个问题在这里已经有答案了 我在一个目录中有多个文件 例如 linux file1 mp4 linux file2 mp4等等 如何使用 shell 移动这些文件 以便名称为file1 mp4 file2 mp4等等 我有大约 30 个文件
  • 显示来自 Rails 应用程序的 Twitter feed

    我已经能够让用户通过 OmniAuth 登录 Twitter 我遵循 Railscast 235 6 并制作了一个简单的应用程序 现在我正在尝试显示已登录用户的 Twitter 提要 谁能告诉我这是怎么做到的 如何初始化 Twitter 如
  • Git http.proxy 设置

    我试图弄清楚这个 git 问题 有一次我搞乱了 http proxy 变量 现在这只是废话 asdf 所以推动不起作用 我不知道之前的代理设置是什么 我什至不知道代理服务器是什么 有什么方法可以将 http proxy 设置为正确的值吗 现
  • 将 Zookeeper 从 3.3.X 升级到 3.4.X 时,我需要了解哪些信息?

    我有一个 Zookeeper 整体 我想从 3 3 X 分支升级到 3 4 X 分支 这可以在实时集群上完成吗 需要停机吗 有什么说明可以在某处找到吗 据我检查 升级 ZooKeeper 有哪些选项 流程 有两种主要方法可以做到这一点 1
  • 数据报总是被完整接收吗?

    大多数数据报接收函数 例如c的recv或read java的DatagramPacket类或python的SocketServer 都包含找出接收数据量的可能性 c int amount recv sock buf n MSG WAITAL
  • ASP.NET Web API - OWIN - TokenEndPointPath 在 IIS 中不起作用

    我的startup cs 中有以下代码 当 Web API 项目部署到 IIS 中网站的根目录时 在 IIS Express 中设置 TokenEndpointPath 效果非常好 但是 如果我托管在 IIS 中的嵌套应用程序 即网站内的应