Commit Graph

167 Commits

Author SHA1 Message Date
Shannon Deminick
39aeec0f1f Implement password config storage for members (#10170)
* Getting new netcore PublicAccessChecker in place

* Adds full test coverage for PublicAccessChecker

* remove PublicAccessComposer

* adjust namespaces, ensure RoleManager works, separate public access controller, reduce content controller

* Implements the required methods on IMemberManager, removes old migrated code

* Updates routing to be able to re-route, Fixes middleware ordering ensuring endpoints are last, refactors pipeline options, adds public access middleware, ensures public access follows all hops

* adds note

* adds note

* Cleans up ext methods, ensures that members identity is added on both front-end and back ends. updates how UmbracoApplicationBuilder works in that it explicitly starts endpoints at the time of calling.

* Changes name to IUmbracoEndpointBuilder

* adds note

* Fixing tests, fixing error describers so there's 2x one for back office, one for members, fixes TryConvertTo, fixes login redirect

* fixing build

* Updates user manager to correctly validate password hashing and injects the IBackOfficeUserPasswordChecker

* Merges PR

* Fixes up build and notes

* Implements security stamp and email confirmed for members, cleans up a bunch of repo/service level member groups stuff, shares user store code between members and users and fixes the user identity object so we arent' tracking both groups and roles.

* Security stamp for members is now working

* Fixes keepalive, fixes PublicAccessMiddleware to not throw, updates startup code to be more clear and removes magic that registers middleware.

* adds note

* removes unused filter, fixes build

* fixes WebPath and tests

* Looks up entities in one query

* remove usings

* Fix test, remove stylesheet

* Set status code before we write to response to avoid error

* Ensures that users and members are validated when logging in. Shares more code between users and members.

* merge changes

* oops

* Reducing and removing published member cache

* Fixes RepositoryCacheKeys to ensure the keys are normalized

* oops didn't mean to commit this

* Fix casing issues with caching, stop boxing value types for all cache operations, stop re-creating string keys in DefaultRepositoryCachePolicy

* oops didn't mean to comit this

* bah, far out this keeps getting recommitted. sorry

* cannot inject IPublishedMemberCache and cannot have IPublishedMember

* splits out files, fixes build

* fix tests

* removes membership provider classes

* removes membership provider classes

* updates the identity map definition

* reverts commented out lines

* reverts commented out lines

* Implements members Password config in db, fixes members cookie auth to not interfere with the back office cookie auth, fixes Startup sequence, fixes startup pipeline

* commits change to Startup

* Rename migration from `MemberTableColumns2` to `AddPasswordConfigToMemberTable`

* Fix test

* Fix tests, but adding default passwordConfig to members

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2021-04-22 15:59:13 +02:00
Shannon Deminick
c991e83088 SiteDomainHelper cleanup (#10166)
* Fixes SiteDomainHelper = no more static weirdness and renames it.

* fix build
2021-04-22 12:25:25 +02:00
Shannon Deminick
a1624d26a3 Implements Public Access in netcore (#10137)
* Getting new netcore PublicAccessChecker in place

* Adds full test coverage for PublicAccessChecker

* remove PublicAccessComposer

* adjust namespaces, ensure RoleManager works, separate public access controller, reduce content controller

* Implements the required methods on IMemberManager, removes old migrated code

* Updates routing to be able to re-route, Fixes middleware ordering ensuring endpoints are last, refactors pipeline options, adds public access middleware, ensures public access follows all hops

* adds note

* adds note

* Cleans up ext methods, ensures that members identity is added on both front-end and back ends. updates how UmbracoApplicationBuilder works in that it explicitly starts endpoints at the time of calling.

* Changes name to IUmbracoEndpointBuilder

* adds note

* Fixing tests, fixing error describers so there's 2x one for back office, one for members, fixes TryConvertTo, fixes login redirect

* fixing build

* Fixes keepalive, fixes PublicAccessMiddleware to not throw, updates startup code to be more clear and removes magic that registers middleware.

* adds note

* removes unused filter, fixes build

* fixes WebPath and tests

* Looks up entities in one query

* remove usings

* Fix test, remove stylesheet

* Set status code before we write to response to avoid error

* Ensures that users and members are validated when logging in. Shares more code between users and members.

* Fixes RepositoryCacheKeys to ensure the keys are normalized

* oops didn't mean to commit this

* Fix casing issues with caching, stop boxing value types for all cache operations, stop re-creating string keys in DefaultRepositoryCachePolicy

* bah, far out this keeps getting recommitted. sorry

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2021-04-20 07:11:45 +02:00
Andy Butland
19a9caf47b Removed project configuration to expose internals to Forms and made the two used internal dependencies public. 2021-04-15 12:49:47 +02:00
Andy Butland
12d5bdc552 Temporary commit to remove exposing of internals to Forms. 2021-04-15 12:06:13 +02:00
Bjarke Berg
03002e16d3 Merge pull request #10117 from umbraco/netcore/task/member-macros-10577
Members working on the front-end with macro updates
2021-04-13 07:14:33 +02:00
Shannon
c2d5ab99d7 Adds explicit scopes for single transactions in member controllers 2021-04-13 11:53:42 +10:00
Bjarke Berg
a91b44e299 Moved extensions for website from Umbraco.Web to Umbraco.Web.Website 2021-04-12 09:54:16 +02:00
Shannon
5ce7127beb Fixes remapping the key, allows for including/excluding custom properties on profile editing too. 2021-04-09 16:49:17 +10:00
Shannon
8ea88a980a Fixes anti-forgery, fixes tempdata, adds front-end security/identity, gets member macro snippets and controllers all working, removes old code, adds more props to the member identity 2021-04-09 15:24:12 +10:00
Shannon
461be27bb1 Merge remote-tracking branch 'origin/netcore/dev' into netcore/task/member-macros-10577 2021-04-07 18:24:57 +10:00
Andy Butland
aae7fc955f Made web layer internals visible to Umbraco Forms assemblies. 2021-04-02 11:48:21 +02:00
Shannon
2d2feb86bb Starts converting member macros 2021-03-26 00:22:11 +11:00
Bjarke Berg
fca6fb2a44 Merge pull request #9970 from umbraco/netcore/feature/reintroduce-friendly-bun-untestable-published-content-extensions
Netcore: Reintroduce friendly bun untestable published content extensions
2021-03-12 13:02:41 +01:00
Bjarke Berg
8d743cbe2c Merge remote-tracking branch 'origin/netcore/dev' into netcore/feature/individual-nuget-pr-assembly 2021-03-11 10:33:48 +01:00
Bjarke Berg
78d8f0bacf Fix Deserialization of defaultConfig from package.manifest 2021-03-10 21:13:13 +01:00
Mole
d505c85551 Merge remote-tracking branch 'origin/netcore/dev' into netcore/feature/individual-nuget-pr-assembly 2021-03-05 14:07:16 +01:00
Mole
f5df05d685 Add metadata to all packages and rename UmbracoCms.Lucene.nuspec to UmbracoCms.Examine.Lucene.nuspec 2021-03-05 13:56:41 +01:00
Mole
390cf6ca66 Pack all projects as individual packages and add them as dependency
Only have to add Umbraco.Cms.Web.Website and Umbraco.Cms.Web.BackOffice, rest will be indirect dependencies.
2021-03-04 14:10:55 +01:00
Shannon
d72c11821f Merge remote-tracking branch 'origin/netcore/dev' into netcore/bugfix/10196-ambient-scope
# Conflicts:
#	src/Umbraco.Core/HybridAccessorBase.cs
#	src/Umbraco.Core/Security/IBackOfficeSecurityFactory.cs
#	src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs
#	src/Umbraco.Web.Common/Security/BackofficeSecurityFactory.cs
2021-03-04 16:57:32 +11:00
Shannon
efb84409f5 kill UmbracoWebsiteSecurityFactory and UmbracoRoutedRequest, simplify all this. 2021-03-04 15:12:58 +11:00
Bjarke Berg
1c50ece986 Use c#9 + namespace fix 2021-03-02 16:20:44 +01:00
Shannon
70caa227e2 notes 2021-03-01 12:57:04 +11:00
Shannon
6148336d04 Adds new event so we know when umbraco routes a value, ensure the IUmbracoWebsiteSecurity is initialized for front-end requests, cleans up some of the routing middleware, adds lots of notes 2021-03-01 12:51:07 +11:00
Shannon
abb5911b24 WIP fixing issue with macro forms 2021-02-26 16:53:53 +11:00
Mole
405d0e704d Merge remote-tracking branch 'origin/netcore/dev' into netcore/feature/align-infrastructure-namespaces
# Conflicts:
#	src/Umbraco.Infrastructure/ModelsBuilder/PublishedElementExtensions.cs
#	src/Umbraco.Web.Common/ModelsBuilder/DependencyInjection/UmbracoBuilderDependencyInjectionExtensions.cs
#	src/Umbraco.Web.Common/ModelsBuilder/ModelsBuilderNotificationHandler.cs
2021-02-22 15:18:04 +01:00
Bjarke Berg
6e89e9a8a9 Merge remote-tracking branch 'origin/netcore/dev' into netcore/feature/AB10314-mb-embedded-dependencies
# Conflicts:
#	src/Umbraco.Infrastructure/ModelsBuilder/ApiVersion.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/Building/Builder.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/Building/ModelsGenerator.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/Building/PropertyModel.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/Building/TextBuilder.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/Building/TextHeaderWriter.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/Building/TypeModel.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/Building/TypeModelHasher.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/LiveModelsProvider.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/ModelsBuilderAssemblyAttribute.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/ModelsBuilderDashboard.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/ModelsGenerationError.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/OutOfDateModelsStatus.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/PublishedElementExtensions.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/PublishedModelUtility.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/RoslynCompiler.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/TypeExtensions.cs
#	src/Umbraco.Infrastructure/ModelsBuilder/UmbracoServices.cs
#	src/Umbraco.ModelsBuilder.Embedded/ImplementPropertyTypeAttribute.cs
#	src/Umbraco.ModelsBuilder.Embedded/Umbraco.ModelsBuilder.Embedded.csproj
#	src/Umbraco.Tests.UnitTests/Umbraco.ModelsBuilder.Embedded/BuilderTests.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.ModelsBuilder.Embedded/UmbracoApplicationTests.cs
#	src/Umbraco.Web.BackOffice/ModelsBuilder/ContentTypeModelValidator.cs
#	src/Umbraco.Web.BackOffice/ModelsBuilder/ContentTypeModelValidatorBase.cs
#	src/Umbraco.Web.BackOffice/ModelsBuilder/DashboardReport.cs
#	src/Umbraco.Web.BackOffice/ModelsBuilder/DisableModelsBuilderNotificationHandler.cs
#	src/Umbraco.Web.BackOffice/ModelsBuilder/MediaTypeModelValidator.cs
#	src/Umbraco.Web.BackOffice/ModelsBuilder/MemberTypeModelValidator.cs
#	src/Umbraco.Web.BackOffice/ModelsBuilder/ModelsBuilderDashboardController.cs
#	src/Umbraco.Web.Common/ModelsBuilder/DependencyInjection/UmbracoBuilderExtensions.cs
#	src/Umbraco.Web.Common/ModelsBuilder/ModelsBuilderNotificationHandler.cs
#	src/Umbraco.Web.Common/ModelsBuilder/PureLiveModelFactory.cs
#	src/Umbraco.Web.Common/ModelsBuilder/RefreshingRazorViewEngine.cs
#	src/Umbraco.Web.Common/ModelsBuilder/UmbracoAssemblyLoadContext.cs
#	src/Umbraco.Web.UI.NetCore/Startup.cs
#	src/Umbraco.Web.Website/DependencyInjection/UmbracoBuilderExtensions.cs
2021-02-22 09:00:33 +01:00
Mole
bf41c2eeaa Netcore: Align namespaces (#9801)
* Rename Umbraco.Core namespace to Umbraco.Cms.Core

* Move extension methods in core project to Umbraco.Extensions

* Move extension methods in core project to Umbraco.Extensions

* Rename Umbraco.Examine namespace to Umbraco.Cms.Examine

* Move examine extensions to Umbraco.Extensions namespace

* Reflect changed namespaces in Builder and fix unit tests

* Adjust namespace in Umbraco.ModelsBuilder.Embedded

* Adjust namespace in Umbraco.Persistence.SqlCe

* Adjust namespace in Umbraco.PublishedCache.NuCache

* Align namespaces in Umbraco.Web.BackOffice

* Align namespaces in Umbraco.Web.Common

* Ensure that SqlCeSupport is still enabled after changing the namespace

* Align namespaces in Umbraco.Web.Website

* Align namespaces in Umbraco.Web.UI.NetCore

* Align namespaces in Umbraco.Tests.Common

* Align namespaces in Umbraco.Tests.UnitTests

* Align namespaces in Umbraco.Tests.Integration

* Fix errors caused by changed namespaces

* Fix integration tests

* Undo the Umbraco.Examine.Lucene namespace change

This breaks integration tests on linux, since the namespace wont exists there because it's only used on windows.

* Fix merge

* Fix Merge
2021-02-18 11:06:02 +01:00
Elitsa Marinovska
a2cfd277ce Cleanup 2021-02-18 08:33:49 +01:00
Mole
ce5eaac5a4 Merge branch 'netcore/feature/align-namespaces' into netcore/feature/align-infrastructure-namespaces
# Conflicts:
#	src/Umbraco.Web/Mvc/EnsurePublishedContentRequestAttribute.cs
#	src/Umbraco.Web/Mvc/UmbracoVirtualNodeRouteHandler.cs
2021-02-17 15:44:36 +01:00
Mole
738150f5ad Merge remote-tracking branch 'origin/netcore/dev' into netcore/feature/align-namespaces
# Conflicts:
#	src/Umbraco.Core/IO/ViewHelper.cs
#	src/Umbraco.Core/Models/ContentModel.cs
#	src/Umbraco.Core/Models/ContentModelOfTContent.cs
#	src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/TemplateRepositoryTest.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Core/Templates/ViewHelperTests.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Views/UmbracoViewPageTests.cs
#	src/Umbraco.Web.Common/ApplicationModels/BackOfficeApplicationModelProvider.cs
#	src/Umbraco.Web.Common/ApplicationModels/BackOfficeIdentityCultureConvention.cs
#	src/Umbraco.Web.Common/ApplicationModels/UmbracoApiBehaviorApplicationModelProvider.cs
#	src/Umbraco.Web.Common/ApplicationModels/UmbracoJsonModelBinderConvention.cs
#	src/Umbraco.Web.Common/Controllers/RenderController.cs
#	src/Umbraco.Web.Common/Macros/PartialViewMacroPage.cs
#	src/Umbraco.Web.Common/Views/UmbracoViewPage.cs
#	src/Umbraco.Web.UI.NetCore/Views/Partials/blocklist/default.cshtml
#	src/Umbraco.Web.UI.NetCore/Views/Partials/grid/bootstrap3-fluid.cshtml
#	src/Umbraco.Web.UI.NetCore/Views/Partials/grid/bootstrap3.cshtml
#	src/Umbraco.Web.UI.NetCore/Views/Partials/grid/editors/embed.cshtml
#	src/Umbraco.Web.UI.NetCore/Views/Partials/grid/editors/macro.cshtml
#	src/Umbraco.Web/Mvc/EnsurePublishedContentRequestAttribute.cs
#	src/Umbraco.Web/Mvc/UmbracoVirtualNodeRouteHandler.cs
2021-02-17 15:35:44 +01:00
Bjarke Berg
88acb07873 Merge pull request #9821 from umbraco/netcore/task/9716-custom-routes
Custom controller routes within an Umbraco context (i.e. virtual nodes)
2021-02-17 12:29:20 +01:00
Mole
efe4162027 Align Umbraco.Examine.Lucene to Umbraco.Cms.Infrastructure.Examine
The namespace has to be the same as in Infrastructure/Examine otherwise linux build fails.
2021-02-15 14:45:02 +01:00
Bjarke Berg
9ba04c394b Added Directory.Build.props to replace SolutionInfo 2021-02-15 13:53:06 +01:00
Mole
eb091f8dcd Align namespaces in root of infrastructure 2021-02-15 13:14:18 +01:00
Mole
5bd8e32279 Align namespaces in Persistence
Made everything except for repository interface be in the Umbraco.Cms.Infrastructure.Persistence namespace
2021-02-12 13:36:50 +01:00
Mole
511a04a62c Align namespaces in Examine folder. 2021-02-12 10:57:50 +01:00
Mole
b74abaf3af Align namespaces in DependencyInjection to Umbraco.Cms.Infrastructure.DependencyInjection
Even though Core also has this, then pretty much every project has their own DI namespace, and this one does reference third party dependencies as far as I can see
2021-02-12 10:41:07 +01:00
Mole
9dcd4cb74a Merge remote-tracking branch 'origin/netcore/dev' into netcore/feature/align-namespaces
# Conflicts:
#	src/Umbraco.Web/Mvc/SurfaceController.cs
2021-02-12 08:40:36 +01:00
Shannon
af42af7425 Simplify UmbracoRouteValues since this is an http request feature which dictates what an Umbraco route is 2021-02-12 16:54:19 +11:00
Shannon
aeae2fcfd2 Removes old classes that merge viewdata and modelstate that are no longer necessary 2021-02-12 16:10:50 +11:00
Mole
eb03671b52 Align namespaces in Umbraco.Web.Website 2021-02-10 14:30:14 +01:00
Mole
55aa2edb72 Align namespaces in Umbraco.Web.Common 2021-02-10 11:42:04 +01:00
Mole
ade00997bc Adjust namespace in Umbraco.ModelsBuilder.Embedded 2021-02-10 10:34:27 +01:00
Mole
34f8766a3c Move extension methods in core project to Umbraco.Extensions 2021-02-09 15:14:56 +01:00
Mole
dd488a15f4 Move extension methods in core project to Umbraco.Extensions 2021-02-09 13:21:17 +01:00
Mole
216fb87c79 Rename Umbraco.Core namespace to Umbraco.Cms.Core 2021-02-09 10:22:42 +01:00
Shannon
967c150180 Merge branch 'netcore/netcore' into netcore/task/Surface-Routing-9717 2021-02-05 13:22:21 +11:00
Shannon
295e4eb118 Merge branch 'netcore/task/Surface-Routing-9717' of https://github.com/umbraco/Umbraco-CMS into netcore/task/Surface-Routing-9717 2021-02-05 13:14:40 +11:00
Shannon
b883ebfd7d Fixing tests, created constants 2021-02-05 13:14:24 +11:00