Commit Graph

64 Commits

Author SHA1 Message Date
Shannon
089d147917 Fix namespaces 2021-03-04 14:49:19 +11:00
Shannon
a70a739d62 security accessors should not be hybrid, ensures call context isn't flowed to child set/forget threads, renames TaskHelper and adds a test, removes GenericDictionaryRequestAppCache in favor of HttpContextRequestAppCache that relies on HttpContext and fixes http locks since there was a deadlock problem. Removes SafeCallContext, we just use ExecutionContext.SuppressFlow instead 2021-03-03 10:40:16 +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
Bjarke Berg
dc4595b16a Merge remote-tracking branch 'origin/netcore/dev' into netcore/feature/align-infrastructure-namespaces
# Conflicts:
#	src/Umbraco.Infrastructure/Security/BackOfficeClaimsPrincipalFactory.cs
#	src/Umbraco.Tests/TestHelpers/ControllerTesting/AuthenticateEverythingMiddleware.cs
#	src/Umbraco.Tests/TestHelpers/ControllerTesting/TestControllerActivatorBase.cs
2021-02-23 12:07:22 +01:00
Mole
20a70ec133 Fix merge 2021-02-23 09:05:06 +01:00
Mole
159747ab61 Merge remote-tracking branch 'origin/netcore/dev' into netcore/feature/align-infrastructure-namespaces
# Conflicts:
#	src/Umbraco.Infrastructure/Cache/DistributedCacheBinder_Handlers.cs
#	src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.MappingProfiles.cs
#	src/Umbraco.Infrastructure/PropertyEditors/PropertyEditorsComponent.cs
#	src/Umbraco.Infrastructure/Security/BackOfficeClaimsPrincipalFactory.cs
#	src/Umbraco.Infrastructure/Security/IBackOfficeUserManager.cs
#	src/Umbraco.Infrastructure/Security/IUmbracoUserManager.cs
#	src/Umbraco.Infrastructure/Security/SignOutAuditEventArgs.cs
#	src/Umbraco.Infrastructure/Security/UmbracoUserManager.cs
#	src/Umbraco.Infrastructure/Security/UserInviteEventArgs.cs
#	src/Umbraco.Tests.UnitTests/AutoFixture/AutoMoqDataAttribute.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/BackOffice/BackOfficeLookupNormalizerTests.cs
#	src/Umbraco.Web.BackOffice/Controllers/MemberController.cs
#	src/Umbraco.Web/Security/IBackOfficeUserPasswordChecker.cs
#	src/Umbraco.Web/Security/Providers/MembersRoleProvider.cs
2021-02-23 08:51:09 +01:00
Mole
f1128d7d70 Replace usage of Thread.CurrentPrincipal with IBackofficeSecurityAccessor 2021-02-23 08:38:27 +01:00
Mole
9d0493d38f Merge remote-tracking branch 'origin/netcore/dev' into 9622-remove-backofficeidentity
# Conflicts:
#	src/Umbraco.Core/Security/UmbracoBackOfficeIdentity.cs
#	src/Umbraco.Infrastructure/Security/BackOfficeClaimsPrincipalFactory.cs
2021-02-23 08:29:03 +01:00
Emma Garland
2109bee83b Merge branch 'netcore/dev' into netcore/members-userstore
# Conflicts:
#	src/Umbraco.Core/Models/Membership/IMembershipUser.cs
#	src/Umbraco.Core/Models/Membership/IUser.cs
#	src/Umbraco.Core/Services/IMembershipRoleService.cs
#	src/Umbraco.Infrastructure/Compose/AuditEventsComponent.cs
#	src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.MappingProfiles.cs
#	src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Services.cs
#	src/Umbraco.Infrastructure/Install/InstallSteps/NewInstallStep.cs
#	src/Umbraco.Infrastructure/Security/BackOfficeIdentityUser.cs
#	src/Umbraco.Infrastructure/Security/BackOfficeUserStore.cs
#	src/Umbraco.Infrastructure/Security/IBackOfficeUserPasswordChecker.cs
#	src/Umbraco.Infrastructure/Security/IUmbracoUserManager.cs
#	src/Umbraco.Infrastructure/Security/IdentityMapDefinition.cs
#	src/Umbraco.Infrastructure/Security/SignOutAuditEventArgs.cs
#	src/Umbraco.Infrastructure/Security/UmbracoUserManager.cs
#	src/Umbraco.Infrastructure/Services/Implement/MemberService.cs
#	src/Umbraco.Tests.Integration/TestServerTest/TestAuthHandler.cs
#	src/Umbraco.Tests.Integration/Umbraco.Web.BackOffice/UmbracoBackOfficeServiceCollectionExtensionsTests.cs
#	src/Umbraco.Tests.UnitTests/AutoFixture/AutoMoqDataAttribute.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/BackOffice/BackOfficeClaimsPrincipalFactoryTests.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/BackOffice/BackOfficeLookupNormalizerTests.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Security/NoOpLookupNormalizerTests.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Web.BackOffice/Controllers/UsersControllerTests.cs
#	src/Umbraco.Web.BackOffice/Controllers/AuthenticationController.cs
#	src/Umbraco.Web.BackOffice/Controllers/BackOfficeController.cs
#	src/Umbraco.Web.BackOffice/Controllers/CurrentUserController.cs
#	src/Umbraco.Web.BackOffice/Controllers/MemberController.cs
#	src/Umbraco.Web.BackOffice/Controllers/UsersController.cs
#	src/Umbraco.Web.BackOffice/DependencyInjection/ServiceCollectionExtensions.cs
#	src/Umbraco.Web.BackOffice/Filters/CheckIfUserTicketDataIsStaleAttribute.cs
#	src/Umbraco.Web.BackOffice/Mapping/MemberMapDefinition.cs
#	src/Umbraco.Web.BackOffice/Security/BackOfficePasswordHasher.cs
#	src/Umbraco.Web.BackOffice/Security/BackOfficeSecurityStampValidator.cs
#	src/Umbraco.Web.BackOffice/Security/BackOfficeSessionIdValidator.cs
#	src/Umbraco.Web.BackOffice/Security/BackOfficeSignInManager.cs
#	src/Umbraco.Web.BackOffice/Security/BackOfficeUserManagerAuditer.cs
#	src/Umbraco.Web.BackOffice/Security/ConfigureBackOfficeIdentityOptions.cs
#	src/Umbraco.Web.BackOffice/Security/ExternalSignInAutoLinkOptions.cs
#	src/Umbraco.Web.BackOffice/Security/IBackOfficeSignInManager.cs
#	src/Umbraco.Web.BackOffice/Security/PasswordChanger.cs
#	src/Umbraco.Web.Common/DependencyInjection/ServiceCollectionExtensions.cs
#	src/Umbraco.Web.Common/Middleware/BootFailedMiddleware.cs
#	src/Umbraco.Web.Common/Security/BackOfficeUserManager.cs
#	src/Umbraco.Web/Security/MembershipHelper.cs
#	src/Umbraco.Web/Security/MembershipProviderBase.cs
#	src/Umbraco.Web/Security/Providers/MembersMembershipProvider.cs
#	src/Umbraco.Web/Security/Providers/MembersRoleProvider.cs
#	src/Umbraco.Web/Security/Providers/UmbracoMembershipProvider.cs
2021-02-22 20:55:12 +00:00
Mole
d413bf49f9 Merge remote-tracking branch 'origin/netcore/dev' into 9622-remove-backofficeidentity
# Conflicts:
#	src/Umbraco.Core/Security/AuthenticationExtensions.cs
#	src/Umbraco.Core/Security/UmbracoBackOfficeIdentity.cs
#	src/Umbraco.Infrastructure/Security/BackOfficeClaimsPrincipalFactory.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Core/BackOffice/UmbracoBackOfficeIdentityTests.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Core/Extensions/ClaimsPrincipalExtensionsTests.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Web.BackOffice/Security/BackOfficeAntiforgeryTests.cs
#	src/Umbraco.Tests/TestHelpers/ControllerTesting/AuthenticateEverythingMiddleware.cs
#	src/Umbraco.Web.BackOffice/Security/BackOfficeSecureDataFormat.cs
#	src/Umbraco.Web.BackOffice/Security/ConfigureBackOfficeCookieOptions.cs
#	src/Umbraco.Web.Common/Security/BackOfficeUserManager.cs
2021-02-22 08:38:12 +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
Mole
33a99df73f Remove usage of FromClaimsIdentity 2021-02-17 11:50:19 +01:00
Mole
a87075a941 Switch simple properties to extension methods 2021-02-17 10:11:04 +01:00
Mole
30b086d5d0 Align namespaces in Security to Umbraco.Cms.Core 2021-02-15 12:01:12 +01:00
Emma Garland
2d00ece365 Renamed MembersUserManager 2021-02-12 14:38:20 +00:00
Mole
55aa2edb72 Align namespaces in Umbraco.Web.Common 2021-02-10 11:42:04 +01:00
Emma Garland
19fcbf80f4 Merge branch 'netcore/dev' into netcore/members-userstore 2021-02-09 13:22:40 +00: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
0c26a82489 Changes the umbraco route values to use http features intead of in route values which is much nicer, fixes the redirect to page result, tests a surface controller POST and it works, ensures the routing takes place before the form check, removes a bunch of old code 2021-02-03 15:47:27 +11:00
Emma Garland
152ad9684c Username passed into roles. Added initial roles store functionality. Updated user roles functionality to persist the member group. 2021-02-01 17:43:11 +00:00
Emma Garland
8caf2a0e62 Initial check in of roles work in the store. Not currently functional 2021-01-29 16:43:50 +00:00
Emma Garland
1431a0a076 Merge branch 'netcore/netcore' into netcore/members-userstore
# Conflicts:
#	src/Umbraco.Web.BackOffice/Controllers/ContentControllerBase.cs
#	src/Umbraco.Web.BackOffice/Controllers/MemberController.cs
2021-01-15 16:51:23 +00:00
Bjarke Berg
fe016dd103 Netcore: Fixes issues with user invites (#9616)
* AB9629
Fixes issues with user invites
- Issue with the generated link in the invite email
- Allow anonymous access to CurrentUserController.PostSetInvitedUserPassword, as it is used by users not logged in
- Allow anonymous access to AuthenticationController.GetPasswordConfig, as this is used to set a password for newly invited users, before they login

* Fix issues with invite flow

* Fix minor typos

* Fixed issue with validation response and remove/change avatar

* Fix issue with disable users, after all enums are handled like strings

* Fix tests

* Fix other validation issue

* Fix yet another validation issue

Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
2021-01-12 16:15:19 +01:00
Emma Garland
d285f626a0 Pull request peer review changes - renamed password method, removed unneeded non-strongly typed Member GetAllRoles() method, removed duplicate Normalizer test and rename normalizer, removed currently unneeded events on MembersUserManager. Fixed namespaces and ensured tests in correct location. 2021-01-11 14:24:49 +00:00
Emma Garland
2c006ea99f PR comments updated. Reorganised logic. Removed unused functionality. Started to reorganise update and save roles functionality. 2020-12-09 18:36:39 +00:00
Emma Garland
205edf57b7 Added store functionality based on backoffice user (to be revisited as a lot of it may be shareable) and also added a new members service method for membergroups. 2020-12-08 17:18:22 +00:00
emmagarland
3f0e7ab315 Merged and updated according to shared latest work, renamed to Members instead of UmbracoMembers. Tests currently red, fixing next. Empty appsettings again. 2020-12-08 01:57:14 +00:00
Shannon
5172b0e58a Updates user manager, user store and identity user to use the aspnetcore base classes instead of copies of our own, uses string ids for user and roles to simplify everything and to allow for sharing between members 2020-12-04 12:44:27 +11:00
Shannon
4dea624e23 remove code 2020-12-04 02:28:11 +11:00
Shannon
86d231f5de removes remaining back office things from underlying UmbracoUserManager moves files 2020-12-04 02:21:21 +11:00
Shannon
0825db6861 Merge remote-tracking branch 'origin/netcore/netcore' into netcore/task/usermanager-object-cleanup
# Conflicts:
#	src/Umbraco.Tests.UnitTests/Umbraco.Web.BackOffice/Security/BackOfficeCookieManagerTests.cs
#	src/Umbraco.Web.BackOffice/Security/ConfigureBackOfficeCookieOptions.cs
2020-12-04 01:44:01 +11:00
Shannon
35af86c3d3 Splits user manager into a base class that can be reused changes base class of IdentityUser to UmbracoIdentityUser 2020-12-04 01:38:36 +11:00
Shannon
0846fc5690 Cleans up IBackofficeSecurity, ensures authn for the AuthenticationController/BackOfficeController 2020-12-02 14:28:16 +11:00
Bjarke Berg
26dc9219c4 Revert "Revert "Cleans up BackofficeSecurity, fixes up AuthenticationController for endpoints that aren't authorized (and simplifies)""
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-11-27 13:35:43 +01:00
Bjarke Berg
88c1259d84 Revert "Revert "Moves some files, adds notes, starts poc for back office login providers""
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-11-27 13:33:01 +01:00
Bjarke Berg
3b0d33a84c Revert "Moves some files, adds notes, starts poc for back office login providers"
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-11-27 13:17:58 +01:00
Bjarke Berg
96ef2fd9b7 Revert "Cleans up BackofficeSecurity, fixes up AuthenticationController for endpoints that aren't authorized (and simplifies)"
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-11-27 13:16:22 +01:00
Shannon
47ab15f457 Cleans up BackofficeSecurity, fixes up AuthenticationController for endpoints that aren't authorized (and simplifies) 2020-11-27 15:42:41 +11:00
Shannon
e01abf2802 Moves some files, adds notes, starts poc for back office login providers 2020-11-26 19:24:55 +11:00
Bjarke Berg
e46a248832 Merge remote-tracking branch 'origin/netcore/netcore' into netcore/task/6973-migrating-authenticationcontroller-merge
# Conflicts:
#	src/Umbraco.Infrastructure/HostedServices/ScheduledPublishing.cs
#	src/Umbraco.Infrastructure/Runtime/CoreInitialComposer.cs
#	src/Umbraco.Infrastructure/Scheduling/SchedulerComponent.cs
#	src/Umbraco.Infrastructure/Scheduling/SchedulerComposer.cs
#	src/Umbraco.Tests.Integration/Testing/UmbracoIntegrationTest.cs
#	src/Umbraco.Tests/Testing/UmbracoTestBase.cs
#	src/Umbraco.Web.BackOffice/Extensions/BackOfficeApplicationBuilderExtensions.cs
#	src/Umbraco.Web.BackOffice/Runtime/BackOfficeComposer.cs
#	src/Umbraco.Web.Common/Runtime/AspNetCoreComposer.cs
#	src/Umbraco.Web.Common/UmbracoContext/UmbracoContext.cs
#	src/Umbraco.Web.UI.NetCore/appsettings.json
#	src/Umbraco.Web/Editors/BackOfficeController.cs
#	src/Umbraco.Web/Runtime/WebInitialComponent.cs
2020-11-12 13:10:19 +01:00
Bjarke Berg
bb1b04be15 Netcore: Cleanup and migrate few classes from Umbraco.Web (#9375)
* Migrated a few classes, and cleaned up by removing some old classs too in the Umbraco.Web Project

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

* Migrated a few classes, and cleaned up by removing some old classs too in the Umbraco.Web Project

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

* Moved SurfaceControllerTypeCollection + Builder

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

* Moved Extension methods

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

* Removed Wrap methods.. People should use their own TagBuilder

Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-11-12 11:01:19 +01:00
Shannon
e7d22e24db ensures middleware is registered and the external cookie auth is registered. 2020-10-23 14:57:35 +11:00
Shannon
64d8b56eca It builds! 2020-10-23 14:18:53 +11:00
Shannon
1400a02798 Merge branch 'netcore/dev' into netcore/task/6973-migrating-authenticationcontroller
# Conflicts:
#	src/Umbraco.Core/Constants-Security.cs
#	src/Umbraco.Infrastructure/BackOffice/BackOfficeClaimsPrincipalFactory.cs
#	src/Umbraco.Infrastructure/BackOffice/BackOfficeUserManager.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	src/Umbraco.Tests.AcceptanceTest/cypress/integration/Tour/backofficeTour.ts
#	src/Umbraco.Web.BackOffice/Controllers/BackOfficeServerVariables.cs
#	src/Umbraco.Web.BackOffice/Controllers/DenyLocalLoginAuthorizationAttribute.cs
#	src/Umbraco.Web.BackOffice/Controllers/UsersController.cs
#	src/Umbraco.Web.BackOffice/Extensions/HtmlHelperBackOfficeExtensions.cs
#	src/Umbraco.Web.BackOffice/Services/IconService.cs
#	src/Umbraco.Web.Common/Security/ExternalSignInAutoLinkOptions.cs
#	src/Umbraco.Web.UI.Client/src/common/interceptors/_module.js
#	src/Umbraco.Web.UI.Client/src/common/interceptors/requiredheaders.interceptor.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/user/user.controller.js
#	src/Umbraco.Web.UI.NetCore/umbraco/UmbracoBackOffice/Default.cshtml
#	src/Umbraco.Web.UI.NetCore/umbraco/config/lang/da.xml
#	src/Umbraco.Web.UI.NetCore/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI.NetCore/umbraco/config/lang/en_us.xml
#	src/Umbraco.Web.UI/Umbraco/Views/AuthorizeUpgrade.cshtml
#	src/Umbraco.Web/Editors/AuthenticationController.cs
#	src/Umbraco.Web/Editors/BackOfficeController.cs
#	src/Umbraco.Web/Editors/Filters/IsCurrentUserModelFilterAttribute.cs
#	src/Umbraco.Web/Security/AppBuilderExtensions.cs
#	src/Umbraco.Web/Security/AuthenticationOptionsExtensions.cs
#	src/Umbraco.Web/UmbracoDefaultOwinStartup.cs
2020-10-23 10:10:02 +11:00
Shannon
d1b35deb43 Migrates remaining backofficecontroller but still a bunch of work to do , streamlines Backoffice to BackOffice (but is that what we want?) 2020-10-21 16:51:00 +11:00
Shannon
e68c37dc54 Migrates AuthenticationController for the 2FA requirements 2020-10-19 18:48:51 +11:00
Bjarke Berg
375a85903f Changed the UmbracoIntegrationTest setup to be sync, to avoid issue with AsyncLocal
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-10-05 10:02:11 +02:00
Bjarke Berg
0c908a7bbb Introduced interface on BackOfficeUserManager (#8913)
* Introduced IBackOfficeUserManager

* Fixed test

* Moved class into own file

Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
2020-09-22 14:44:41 +02:00
Bjarke Berg
96facc4d35 Netcore: Introduce BackofficeSecurityAccessor (#8871)
* Introduced IWebSecurityAccessor

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

* Fixed tests

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

* Renamed WebSecurity to BackofficeSecurity and all related names

* Fixes typos

Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
2020-09-22 10:01:00 +02:00