Commit Graph

367 Commits

Author SHA1 Message Date
Shannon
7757447244 Migrates UmbracoBackOfficeAuthorizeAttribute to authz policies and adds notes/questions 2020-11-20 15:32:36 +11:00
Shannon
84c2f75a27 Adds notes, only run back office authz policies on the back office scheme 2020-11-20 14:59:08 +11:00
Shannon
e7b4c5a811 Converts FeatureAuthorize to authz policy 2020-11-20 12:40:29 +11:00
Shannon
99247d7fbe Merge remote-tracking branch 'origin/netcore/netcore' into netcore/task/6973-migrating-authenticationcontroller
# Conflicts:
#	src/Umbraco.Infrastructure/PropertyEditors/PropertyEditorsComposer.cs
2020-11-18 16:02:51 +11:00
Paul Johnson
d498c1a2cd Netcore: Turn container validation back on (#9401)
* Remove RuntimeLevelAttribute & disable filtering

* Remove RuntimeLevelAttribute usage on Composers

* Fix broken tests

* Resolve UserManager registration issues.

* Turn container validation back on.

* Resolve lifetime issue post install backoffice.

* Remove final TODO: MSDI
2020-11-17 08:56:04 +01:00
Bjarke Berg
13964d398b Merge remote-tracking branch 'origin/netcore/netcore' into feature/netcore/msdi-refactor-use-DefaultControllerActivator
# Conflicts:
#	src/Umbraco.Web.Website/Extensions/UmbracoWebstiteServiceCollectionExtensions.cs
#	src/Umbraco.Web.Website/Runtime/WebsiteComposer.cs
2020-11-16 10:35:51 +01: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
Paul Johnson
7561bb5244 No need to register controllers into container, DefaultControllerActivator works fine. 2020-11-11 19:15:30 +00:00
Paul Johnson
8775770d76 Remove BuildServiceProvider call from UmbracoWebServiceCollectionExtensions (#9372) 2020-11-10 20:04:29 +01:00
Andy Butland
b4ce2873cc NetCore: Migrated database server registrar and messenger tasks into hosted services (#9353)
* Migrated database server registrar and messenger tasks into hosted services.
Moved DatabaseServerRegistrar Options into injectable configuration.

* Added further cases for unit tests on hosted services checking execution based on runtime level.

* Migrated DatabaseServerMessengerOptions into configuration.
2020-11-10 20:02:09 +01:00
Paul Johnson
3f5f85880e NetCore: MSDI refactor split CoreRuntime & Remove Current (#9356)
* Split Bootstrap code from CoreRuntime

* Make ContentService method signatures match interface
prevents need to hide the concrete class in tests

* Remove Current

Only bit that bugs me is TreeNode for IconFilePath
I get the feeling it's dead code, but can just use a setter in cs or work out path in js if required.

* Fix tests, remember to terminate IRuntime
2020-11-10 09:50:47 +01:00
Andy Butland
0351a3eed4 Merge branch 'netcore/netcore' into feature/avoid-sync-io-exception-on-image-render
# Conflicts:
#	src/Umbraco.Web.BackOffice/Extensions/BackOfficeServiceCollectionExtensions.cs
2020-11-06 15:16:51 +01:00
Bjarke Berg
27fd71225e Merge pull request #9287 from umbraco/netcore/feature/AB9042-migrate-from-infrastructure
Netcore: Migration of classes from Umbraco.Infrastructure
2020-11-05 13:02:49 +01:00
Elitsa Marinovska
5104430879 Changing the way we register json converters globally 2020-11-03 16:36:09 +01:00
Bjarke Berg
63acacab7e Merge pull request #9332 from AndyButland/feature/further-hosted-services-2
NetCore: Migrated scheduled publishing task to a hosted service.
2020-11-03 07:33:58 +01:00
Bjarke Berg
f81fcc8437 Merge pull request #9330 from rustybox/netcore/netcore
NetCore: Fixes registration issue (continued)
2020-11-03 07:06:14 +01:00
Andy Butland
2f2da679a4 Migrated scheduled publishing task to a hosted service. 2020-11-02 18:08:25 +01:00
Paul Johnson
ebdad9f91e Add additional "mutliple unique" registrations and rename extension for clarity. 2020-11-02 10:54:29 +00:00
Andy Butland
88380a17ae Migrated log scrubber backgroun task to a hosted service. 2020-10-31 14:13:24 +01:00
Andy Butland
4920fba7cb Migrated temp file cleanup background task to a hosted service. 2020-10-31 08:58:47 +01:00
Andy Butland
684185f777 Fixes issue with introduced MSDI abstractions where a single implemention is used for two interfaces, ensuring only one singleton instance is created. 2020-10-31 07:54:28 +01:00
Andy Butland
98b1798bbe Fixes issue with introduced MSDI abstractions where a single implemention is used for two interfaces, ensuring only one singleton instance is created. 2020-10-30 19:56:26 +01:00
Andy Butland
9cb59239d1 Migrated KeepAlive recurring task to hosted service. 2020-10-30 17:19:01 +01:00
Andy Butland
bdb8f34da3 Netcore: Health check notifier hosted service (#9295)
* Implemented health check notifier as a hosted service.
Added validation to health check settings.

* Registered health check notifier as a hosted service.
Modified health check nested settings to use concrete classes to align with other configuration models.

* Resolved issues with email sending using development server.

* PR review comments and fixed failing unit test.

* Changed period and delay millisecond and hourly values to TimeSpans.
Changed configuration of first run time for health check notifications to use H:mm format.

* Set up SecureSocketOptions as a locally defined enum.

* Tightened up time format validation to verify input is an actual time (with hours and minutes only) and not a timespan.

* Aligned naming and namespace of health check configuration related classes with other configuration classes.

* Created constants for hex colors used in formatting health check results as HTML.

* Revert "Tightened up time format validation to verify input is an actual time (with hours and minutes only) and not a timespan."

This reverts commit f9bb8a7a825bcb58146879f18b47922e09453e2d.

* Renamed method to be clear validation is of a TimeSpan and not a time.

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2020-10-30 13:56:13 +01:00
Paul Johnson
4ae329589a NetCore: MSDI refactor remove IFactory & IRegister (#9308)
* Replace IFactory with IServiceProvider

* Replace IRegister with IServiceCollection

* Fix Rte.cshtml so the view can service locate.

* Replace Composing Lifetime with MSDI ServiceLifetime

* Remove ServiceProvider AddMultipleUnique extension

* Remove Umbraco.Web.Composing.Current.Reset and any calls

* Remove LightInject from net framework projects

* Brought back a helper for setting MediaFileSystem underlying IFileSystem
2020-10-30 12:16:17 +01:00
Elitsa Marinovska
c304bf07cb Registering UdiJsonConverter globally so that we can migrate EntityBasic to Umbraco.Core 2020-10-27 15:44:11 +01:00
Paul Johnson
ec66990e72 NetCore: MSDI refactor phase 2 (#9280)
* Moved adapters from Infra -> Core

* Allow Composition to accept a service collection instead of an IRegister

* Composition no longer takes IRegister as constructor arg

all tests passing

* Composition no longer implements IRegister

* Lose _uniques in Composition

* lose Composition OnCreatingFactory actions

* Clean up UmbracoCoreServiceCollectionExtensions & Composition

Less IFactory

* LightInject gone where TFW == netstandard2.0 || TFW == netcoreapp3.1

* Resolve dead code issues

* Rename IFactory methods to match IServiceProvider so they can be trivially swapped later.

* Rename IFactory methods to match IServiceProvider so they can be trivially swapped later (continued)

Thought the counts were low, it's mostly extension method usage
2020-10-27 11:53:01 +01:00
Bjarke Berg
715071a33f Merge remote-tracking branch 'origin/netcore/task/6973-migrating-authenticationcontroller' into netcore/task/6973-migrating-authenticationcontroller-merge
# Conflicts:
#	src/Umbraco.Web.BackOffice/Controllers/BackOfficeServerVariables.cs
#	src/Umbraco.Web.BackOffice/Extensions/BackOfficeApplicationBuilderExtensions.cs
#	src/Umbraco.Web/Logging/WebProfilerComponent.cs
#	src/Umbraco.Web/Logging/WebProfilerComposer.cs
2020-10-26 14:37:56 +01:00
Bjarke Berg
b47f946ffe Merge remote-tracking branch 'origin/netcore/netcore' into netcore/task/6973-migrating-authenticationcontroller
Signed-off-by: Bjarke Berg <mail@bergmania.dk>

# Conflicts:
#	src/Umbraco.Infrastructure/HealthCheck/NotificationMethods/EmailNotificationMethod.cs
#	src/Umbraco.Web/Editors/AuthenticationController.cs
2020-10-26 14:34:06 +01:00
Paul Johnson
a99f625f6a Netcore: Alternate approach for MSDI refactor (#9247)
* Doesn't make much sense to have Concrete on IRegister, only on IFactory

* Handle FilesTreeController requires IFileSystem of type PhysicalFileSystem

* Handle registration of default MediaFileSystem without using RegisterUniqueFor

* Remove RegisterFor / RegisterUniqueFor from IRegister

* Switch over from LightInject to wrappers around MSDI

* Made mapper dependencies more explicit

* Remove registration for AngularJsonMediaTypeFormatter

It's dependencies aren't registered so container validation fails

* Resolve lifetime issue for EnsureValidSessionId by service locating

else resolve scoped in singleton

* Make registration more explicit for backoffice UserManager

* Make install step registrations more explicit

* Disable service provider validation so site can launch

Maybe this is a problem maybe not, we build about 8000 service providers so maybe everything is fine later...

* Further cleanup of IFactory interface

* Further cleanup of IRegister interface

* Revert "Make registration more explicit for backoffice UserManager"

This reverts commit 7215fe836103c597cd0873c66737a79b91ed4c49.

* Resolve issue where NewInstallStep would fail to reset password for "SuperUser"

Before MSDI, somehow BackOfficeIdentityOptions would be configured with token provider map from IdentityBuilder.AddDefaultTokenProviders.
After switchover those config actions are lost.

Subclass IdentityBuilder to ensure BackOfficeIdentityOptions doesn't miss config setup upstream.

* Initialize current.

* Add todo to turn container validation back on.

* Migrated ScopeFileSystemsTests to integration tests

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

* Resolve issue where MediaFileSystem was skipping ShadowFileSystem

* Attempt to fix ScopeFileSystemsTests on azure devops

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

* Be interesting to know what the actual full path is in pipeline.

* Clarify intent of CreateMediaTest

Doesn't help resolve weird UnauthorizedAccessException but it cuts so much cognitive overhead for the future.

* Use ILoggerfactory rather than mock for the manually constructed file PhysicalFileSystem

* Maybe resolve failing test on azure pipeline.

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2020-10-26 11:47:14 +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
Bjarke Berg
6905e5e734 Cleanup of different stuff that can be deleted from Umbraco.Web
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-10-22 12:25:52 +02:00
Shannon
2b1dfc5888 Merge remote-tracking branch 'origin/netcore/netcore' into netcore/task/6973-migrating-authenticationcontroller
# Conflicts:
#	src/Umbraco.Tests.Integration/Testing/UmbracoIntegrationTest.cs
#	src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs
#	src/Umbraco.Web.BackOffice/Controllers/BackOfficeController.cs
#	src/Umbraco.Web/Editors/BackOfficeController.cs
#	src/Umbraco.Web/Mvc/UmbracoController.cs
2020-10-22 21:16:44 +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
Bjarke Berg
35c22f9074 Introduced SetViewDataAsync on UmbracoViewPage
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-10-20 21:30:45 +02:00
Mole
c3e92a91b5 Mingrate RenderModelBinderTests 2020-10-19 14:03:51 +02:00
Shannon
e68c37dc54 Migrates AuthenticationController for the 2FA requirements 2020-10-19 18:48:51 +11:00
Mole
c02e1c261d Merge pull request #9175 from umbraco/netcore/bugfix/smidge-nuglify
Update and fix Umbraco's SmidgeRuntimeMinifier implementation and update to latest Smidge
2020-10-19 09:35:39 +02:00
Bjarke Berg
908ab98040 Merge pull request #9159 from umbraco/netcore/feature/enable-sessions
Netcore: Enable session
2020-10-19 09:14:50 +02:00
Shannon
779214f9d3 preserve function names and update smidge 2020-10-16 15:23:02 +11:00
Shannon
ca9fab6b48 Latest version of smidge, new custom NuglifyJs processor with custom settings, fixes some JS that Nuglify throws on because it's not formatted correctly, ensures nuglify is used for the minifier 2020-10-16 12:35:53 +11:00
Bjarke Berg
b27732adc8 Migrated RenderMvcController and RenderIndexActionSelectorAttribute
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-10-15 11:42:16 +02:00
Shannon
457fb1c45d Merge branch 'netcore/netcore' into netcore/bugfix/smidge-nuglify
# Conflicts:
#	src/Umbraco.Web.UI.NetCore/appsettings.json
2020-10-15 14:45:15 +11:00
Mole
6664076976 Use default timeout in default session registration 2020-10-14 11:40:20 +02:00
Mole
d9b5aedca4 Register session service and middleware 2020-10-14 11:35:38 +02:00
Mole
80d3b64a5f Change summary of UmbracoUserTimeoutFilterAttribute to more accurately describe what it does now 2020-10-13 14:34:19 +02:00
Mole
d38befa9c0 Minor cleaning 2020-10-13 14:26:29 +02:00