与 windows 服务共享 asp.net mvc 会话
Posted
技术标签:
【中文标题】与 windows 服务共享 asp.net mvc 会话【英文标题】:Share asp.net mvc session with windows service 【发布时间】:2013-12-01 18:15:54 【问题描述】:我正在开发一个使用 ASP.Net MVC 4 (.Net 4.5) 和自托管 websockets 的应用程序。对于用户处理和登录过程,我使用默认的 asp.net mvc formauthentication 系统。
有没有人知道如何在 IIS (ASP.Net MVC) 和 Windows 服务之间共享登录会话?
谢谢!
【问题讨论】:
请详细说明。如果可能的话,Windows 服务和会话会共享什么? 【参考方案1】:如果您有多个应用程序都需要同一用户登录,那么您需要实施一种称为单点登录 (SSO) 的安全模式。
这要求您有一个完成身份验证的集中位置,该位置称为安全令牌服务 (STS) 或身份提供者 (IdP)。
当用户尝试访问您的 MVC 应用程序或您的 websocket 端点时,您的应用程序中的身份验证逻辑必须将他重定向到 STS。然后 STS 将需要凭据,并根据这些凭据颁发安全令牌。然后客户端将返回到导致重定向的应用程序并随身携带令牌。然后,该令牌可以在您的领域中的任何其他应用程序上使用,只要它有效(未过期),安全会话在您的所有应用程序上都是有效/共享的。
我建议您阅读有关 Windows Identity Foundation (WIF) 4.5 和 SSO 模式的信息,因为上面提到的一些内容是 WIF 开箱即用的。
【讨论】:
以上是关于与 windows 服务共享 asp.net mvc 会话的主要内容,如果未能解决你的问题,请参考以下文章
使用asp.net mv在ado.net中选择带有where子句的查询
如何修复访问被拒绝路径错误asp.net应用程序访问网络共享
如何在 ASP.Net MVC4 Web API 项目中使用 Microsoft OCR 库 ( Microsoft.Windows.Ocr )?