我是 MVC 新手,目前正在使用 MVC6(EF7、Identity3、VS2015)...
我想在一个公司域(在不同的子域中)创建两个不同/独立的 WebApp。
我想为这两个应用程序使用通用/共享身份/登录系统 - 换句话说,我将允许用户在两个应用程序中拥有一个帐户。
我没有域身份验证选项(公司不使用域 - 我知道这很奇怪),所以我必须吗?使用个人用户帐户...
在多个应用程序中创建和使用通用用户帐户的最佳方式/做法是什么?
首先,我考虑在两个 App 中创建两个不同的 DBContext:一个用于身份(用户 DB),第二个用于 App-Related Db ...
这种方法会给我三个不同的数据库:
- IdentityDb - 两个 WebApp 通用,
- 应用程序数据库
- App2Db
但是我怀疑这是否是好的做法和最好的方法?
一个适当配置的 DBContext 可能就足够了,但我不知道应该从哪里开始。
我已经阅读了有关 SSO(单点登录)的信息——但据我所知,它是关于身份验证过程的,所以要晚一点——所以我不确定这个方向。
无论如何都找不到如何跨多个应用程序创建通用用户帐户/配置文件的示例。
更新:
我最初的问题可能太开放了......我不仅想问“做什么”,还想问“如何在 MVC6 中做”......
所以我的另一个问题是:如何在 MVC6 中实现这一点?我必须做什么?也许是一些例子?
如果我决定使用单独的用户数据库 - 那么从应用程序的角度来看,我将拥有两个数据库?在代码中如何处理这个?我应该创建两个单独的 DBContext - 还是只创建一个?
此外,我在这里阅读了一些关于 SO 的意见,即仅使用一个 DbContext 是更好更简单的选择......
无论如何,我昨天尝试使用 2x DBContext - 当我为 IdentityDbContext 创建新控制器时一切正常,但是在尝试为第二个 DBContext(与 Identity 无关)创建任何控制器时出现错误......
(我已将此错误描述为新问题:MVC6 Working with two DBContexts and error when create new controller)
提前感谢您的任何建议:)