小编wic*_*nja的帖子

.Net核心Cookie身份验证在IIS中托管时不起作用

当独立运行应用程序时(在我的情况下只运行在指定端口上运行的kestrel服务器:3001)我可以登录(创建一个auth cookie)并使用我的会话而没有问题,以便后续调用我的API控制器.但是,一旦我通过IIS将应用程序发布到主机,我可以毫无问题地登录,但是对我的API控制器的所有后续请求都会失败授权并重定向到登录.

为了演示我的问题,我已将我的应用程序剥离为可在此处找到的工作示例:Angular2AspNetCoreStarter

重现:

  1. 克隆回购
  2. 导航到项目目录 cd Angular2AspNetCoreStarter
  3. 安装依赖项dotnet restore&npm install
  4. 建立 npm run build
  5. 发布 dotnet publish
  6. 主机通过IIS 发布到IIS
  7. 导航到托管网站(在我看来是@ http://localhost/ng2starter)
  8. 使用任何用户名/密码登录
  9. 打开侧面导航
  10. 单击发送匿名Ping(注意它可以工作!我使用Fiddler来检查流量)
  11. 单击发送Ping(注意401并重定向到登录)

我检查了日志,我在茶隼日志中发现的错误是: CookieAuth was not authenticated. Failure message: Unprotect ticket failed
FYI'CookieAuth'是我在appsettings.json文件中定义的方案名称.

asp.net iis .net-core angular

6
推荐指数
1
解决办法
4994
查看次数

标签 统计

.net-core ×1

angular ×1

asp.net ×1

iis ×1