wic*_*nja 6 asp.net iis .net-core angular
当独立运行应用程序时(在我的情况下只运行在指定端口上运行的kestrel服务器:3001)我可以登录(创建一个auth cookie)并使用我的会话而没有问题,以便后续调用我的API控制器.但是,一旦我通过IIS将应用程序发布到主机,我可以毫无问题地登录,但是对我的API控制器的所有后续请求都会失败授权并重定向到登录.
为了演示我的问题,我已将我的应用程序剥离为可在此处找到的工作示例:Angular2AspNetCoreStarter
重现:
cd Angular2AspNetCoreStarterdotnet restore&npm installnpm run builddotnet publishhttp://localhost/ng2starter)我检查了日志,我在茶隼日志中发现的错误是:
CookieAuth was not authenticated. Failure message: Unprotect ticket failed
FYI'CookieAuth'是我在appsettings.json文件中定义的方案名称.
Sha*_*lle 12
我认为问题可能会遗留或重叠来自具有相同cookie名称的不同"localhost"应用程序的cookie.我在IIS中运行您的示例并从ping中获得相同的401错误,然后在chrome中注意到一堆localhost cookie具有相同的默认名称
.AspNetCore.CookieAuth
我清理了所有的饼干然后再次运行你的样品并找回了"PONG"
使用IISEXPRESS localhost:PORT时创建的cookie
当您使用localhost在IIS中运行时,也会出现问题,因此我猜测IISEXPRESS cookie正被发送到IIS实例,因为您有短暂的数据保护,所以它们无法解密.
| 归档时间: |
|
| 查看次数: |
4994 次 |
| 最近记录: |