自定义标识2.x连接到OWIN管道 - 多租户SaaS应用程序

时间:2015-10-05 17:00:41

标签: c# asp.net-mvc authentication owin asp.net-identity-2

问题:我们可以简单地挂钩到OWIN管道来设置和检索安全身份验证票证(cookie)吗?

我正在寻找为MVC 5应用程序推出自己的安全性/成员资格的最佳方法。我没有注册,登录,密码更改,双因素,密码恢复等问题。我关心的是管道。

项目:该项目是一个多租户SaaS应用程序,需要对Identity框架进行许多更改。我们正在探索自己的写作,这是我们过去为许多项目所做的。

我们不会使用声明或Google或Twitter等外部提供商进行身份验证,所有帐户都是基于本地数据库角色的帐户。该项目不使用EF。

我们探索创建自己的Identity商店,但是,当它完全实现时,有太多关注的领域,并且感觉好像虽然用户管理器只是在路上。代码开始膨胀超出我们自己角色所需的水平。

安全地创建,管理和存储密码,并且不关心此问题。

3 个答案:

答案 0 :(得分:0)

如果您愿意考虑托管解决方案,我建议您查看http://aka.ms/aadb2c - 该页面引用的示例将说明如何使用OWIN中间件连接到托管身份存储。

答案 1 :(得分:0)

我们正在运行具有可配置的每个角色权限的多租户SaaS应用程序。我们利用Claims系统在用户登录时在cookie中存储用户权限。这非常有效,而且非常有效。

您不必使用实际的声明来放置您的权限,但您可以将一些信息存储为用户cookie上的声明,用于确定用户权限。

由于您的问题对于实际实现有点模糊,我不会带任何代码示例 - 鉴于您的手动安全系统,我的示例很可能不适用。除非你用你正在做的具体例子澄清你的问题。

答案 2 :(得分:0)

我们正在使用在OWIN管道中连接的自定义身份验证机制。我们将自己的自定义中间件用于owin管道,从而实现身份验证

唯一需要完成的过程是中间件应验证身份,管道中的cookie身份验证中间件将根据已建立的身份设置cookie。

这将起作用的方式是中间件的排序以及Owin身份验证管道中AuthenticationManager的使用。

我们也使用与我们自己的自定义身份验证提供程序中间件共存的Google,Facebook等社交登录,我们还使用JWT中间件进行隐式流身份验证。

长答案是:是的

更多详情:根据您的进一步帖子了解需要注意的具体细节。