目前,我正在使用ASP.NET MVC 5和新的Identity 2框架进行身份验证和授权。基于这些原则,我实现了一个基于声明的自定义系统,该系统能够通过传递区域和动作来检查是否允许用户操作(例如,区域是预留,动作是创建的)。
现在我需要扩展系统以便在多租户应用程序中使用它,该应用程序通过url子路径区分租户。 (例如https://www.mydomain.com/tenant1/{controller}/{action}
。
Identity框架无法根据特定的url子路径设置cookie。在我试图挂钩并设置cookie路径失败的每个地方。
我拥有的第二个用例是为用户临时授予一组操作,而无需事后注销。如果禁用cookie,这也应该有效。
我决定从头开始重写身份验证系统以满足我的需求。 什么是实现cookie少临时登录的最佳方式。故事:用户想要预订。因此,必须对其进行身份验证才能浏览向导(2或3个异步服务器请求)。完成向导后,用户必须在没有任何交互的情况下注销。必须使创建的令牌无效(用于自助服务终端模式)。
此方案存在哪些原则和最佳做法?有类似用例的经验吗?
答案 0 :(得分:1)
查看MembershipReboot项目。 它支持开箱即用的多租户模式。 MembershipReboot
编写自定义身份验证框架是您应该做的最后一件事, 除非是您的主要业务。