与 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 会话的主要内容,如果未能解决你的问题,请参考以下文章

IIS 7.5 ASP.Net 和远程共享

共享服务Samba,实现liunx与Windows文件共享

使用asp.net mv在ado.net中选择带有where子句的查询

如何修复访问被拒绝路径错误asp.net应用程序访问网络共享

如何在 ASP.Net MVC4 Web API 项目中使用 Microsoft OCR 库 ( Microsoft.Windows.Ocr )?

ASP.NET将文件写到另一服务器