无法迁移到 Asp.Net Identity/OWIN

Trouble migrating to Asp.Net Identity/OWIN

我们已经有了自己的数据库,其中 usersrolesuserrole table 已经就位,并且刚刚发现了 .net 中的身份系统. 我想集成应用程序 cookie 身份验证,但无法理解此身份模型中的不同概念。不一定需要允许集成到第三方的 OWIN 适配器。由于我们不需要与第三方集成,我们只需要在我们的系统之外进行内部加密 cookie 身份验证,这就是我们真正需要的。


有人可以帮助我掌握这些模型背后的概念吗?我已经阅读了它们中的每一个,但仍然对它们感到困惑。

目前我看到了一些身份模型: Users, Logins, Claims, Roles

启动应用创建的样本 table 比需要的复杂得多。由于我们不需要很多功能,当然它们已经存在了,但是 2-form 身份验证、短信验证等。一切都不需要。这是一个内部系统。

上周我一直在努力掌握这个模型,但仍然遇到问题。如果有人能指出我正确的方向,那将会很有帮助。

用户非常直接,所以我们将跳过它。登录名是外部身份验证附件。根据 Identity 与第三方身份验证提供商合作的方式,您可以拥有没有附加用户的登录名、没有附加登录名的用户或有附加登录名的用户。这是通过您的网站进行身份验证(登录)和成为您网站的注册会员(用户)之间的区别。

声明只是与用户关联的数据。通常,这些将是暂时的 - 永久存储在用户身上没有意义的东西例如,过期的第三方身份验证令牌在数据库中实际保存给用户是没有意义的。

角色只是权限集。人们对角色有不同的看法,但从技术上讲,角色只是定义了用户可能拥有的一些能力,比如 "CanEdit"、"CanView"、"CanDelete" 等。你会经常看到人们使用它们更像是组:"Admin"、"Editor"、"Contributor" 等,它们抽象地定义了用户权限。

OWIN 是 Identity 的核心组件。这不是你可以挑选或选择的东西。如果您不想使用第三方身份验证功能,那就不要,但包含它不是问题。

最后,Identity 比较固执己见。可以将您的用户 data 迁移到特定于身份的构造中,但是让身份只使用您现有的用户表实际上是不可能的。我不确定这是否是您真正的意思,但如果是,请忘记它。您可以自定义各个 Identity 模型以在数据库中包含更多信息,但通常,如果您想使用 Identity,则需要找到一种方法将您的数据映射到 Identity 提供的内容中。