。net的网站和cms身份验证核心用户身份

问题描述 投票:0回答:1

支持网站(客户)用户的用户帐户注册和登录以及在同一项目中为站点和cms使用单独的用户标识服务来支持cms用户帐户/管理员登录的最佳做法是什么?

为了评估这种情况下如何工作,我已经建立了一个测试mvc .net core 3.1网站项目,该项目利用Piranha CMS,该项目反过来又使用用户身份服务来管理对cms管理面板的访问的身份验证, mvc网站还支持个人帐户的用户身份,供网站客户/用户注册/登录。

[以下是启动类ConfigureServices方法的示例,以说明使用用户身份服务进行cms和网站的设置,当前在启动时出现错误,并显示一条消息-System.InvalidOperationException:'方案已存在:Identity.Application'

    // CMS Setup
        services.AddPiranha(options =>
        {
            options.UseFileStorage();
            options.UseImageSharp();
            options.UseManager();
            options.UseTinyMCE();
            options.UseMemoryCache();
            options.UseEF<SQLServerDb>(db => db.UseSqlServer(Configuration.GetConnectionString("db-cms-users")));
            options.UseIdentityWithSeed<IdentitySQLServerDb>(db => db.UseSqlServer(Configuration.GetConnectionString("db-cms-users")));
        });

    // Site Setup
        services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("db-site-users")));
        services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true).AddEntityFrameworkStores<ApplicationDbContext>(); 

上述代码的问题是cms和站点都使用了用户身份,并且由于两者都使用了“默认”身份而导致冲突,是否有解决此问题的方法,并且仍然支持cms和用于用户/帐户的网站。

所以我的问题是,这两个项目在同一个项目中看起来都不太好玩,在这种情况下,我想知道什么是最佳实践,以同时利用cms和网站支持用户身份来支持Web项目和/或在这种情况下是否有可能?

c# .net core claims-based-identity piranha-cms
1个回答
0
投票

用户管理在Piranha中是完全抽象的,因此您实际上可以以任何所需的方式对CMS用户进行身份验证。模板中包含的Identity软件包作为样板包含在内,因为大多数用户使用基于ASP.NET Identity的单个安全设置。管理员登录时唯一关心的是:

© www.soinside.com 2019 - 2024. All rights reserved.