Commit Graph

35 Commits

Author SHA1 Message Date
Paul Johnson
7561bb5244 No need to register controllers into container, DefaultControllerActivator works fine. 2020-11-11 19:15:30 +00:00
Paul Johnson
ebdad9f91e Add additional "mutliple unique" registrations and rename extension for clarity. 2020-11-02 10:54:29 +00: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
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
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
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
eaa295095d Gets password roll forward working 2020-10-07 16:56:48 +11:00
Bjarke Berg
a28168667b Merge remote-tracking branch 'origin/netcore/dev' into netcore/netcore
Signed-off-by: Bjarke Berg <mail@bergmania.dk>

# Conflicts:
#	src/Umbraco.Core/Editors/BackOfficePreviewModel.cs
#	src/Umbraco.Core/Models/IconModel.cs
#	src/Umbraco.Web.BackOffice/Controllers/IconController.cs
#	src/Umbraco.Web.BackOffice/Controllers/PreviewController.cs
#	src/Umbraco.Web.UI.NetCore/umbraco/UmbracoBackOffice/Default.cshtml
#	src/Umbraco.Web.UI/config/umbracoSettings.config
#	src/Umbraco.Web/Editors/BackOfficeController.cs
#	src/Umbraco.Web/Editors/BackOfficeModel.cs
#	src/Umbraco.Web/Runtime/WebInitialComposer.cs
2020-09-22 13:28:03 +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
Andy Butland
2cd91a5a54 Converted to IOptions over IOptionsSnapshot due to the latter only working in scoped services.
Further amends to return to booting application.
2020-08-23 23:36:48 +02:00
Andy Butland
510bd92e78 Amended injection of further settings to use IOptionsSnapshot. 2020-08-21 14:52:47 +01:00
Andy Butland
e3a44c6717 Moved configuration setting POCOs into Umbraco.Core and adjusted references.
Amended injection of some settings to use IOptionsSnapshot.
2020-08-20 22:18:50 +01:00
Bjarke Berg
03bb780c16 Added missing registration
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-07-10 14:40:44 +02:00
Bjarke Berg
835b04273f Migrated remaining *TreeController's
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-06-10 19:22:25 +02:00
Bjarke Berg
9aea7039d2 Merge remote-tracking branch 'origin/netcore/netcore' into netcore/feature/macros
# Conflicts:
#	src/Umbraco.Web.BackOffice/Controllers/BackOfficeServerVariables.cs
#	src/Umbraco.Web.Common/Runtime/AspNetCoreComposer.cs
#	src/Umbraco.Web/Editors/BackOfficeServerVariables.cs
2020-06-10 10:55:56 +02:00
Bjarke Berg
af382e5e71 Migrated section controller + LanguageTreeController, ApplciationTreeController.
Updated AngularJsonOnlyConfigurationAttribute to be a TypeFilterAttribute, to allow injeciton into the filter.

Note: Left TODO about checking authorization of proxied trees..
2020-06-08 13:14:23 +02:00
Bjarke Berg
1d543d1dfd Migrated MacroRenderingController + Related UmbracoComponentRenderer => TemplateRenderer + ParitalViewMacroEngine 2020-06-05 06:31:42 +02:00
Bjarke Berg
b2b0291386 Netcore: Migration of more controllers (#8220)
* https://dev.azure.com/umbraco/D-Team%20Tracker/_workitems/edit/6587 - Migrated DictionaryController, TinyMceController and UpdateCheckController

* Removing connection string and changing to use the right variable

Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
2020-06-03 17:17:30 +02:00
Bjarke Berg
71a8cb6d35 https://dev.azure.com/umbraco/D-Team%20Tracker/_workitems/edit/6587 - Migrated DataTypeController + Fixed injection of services to UmbracoApplicationAuthorizeAttribute 2020-05-26 14:42:19 +02:00
Shannon
95d695594a Ensure we capture boot failed exception earlier and ensure that composers registered to run on boot failed are executed 2020-05-19 14:51:05 +10:00
Shannon
88f6d09ef9 Enables the boot failed exception logic 2020-05-14 22:14:00 +10:00
Shannon
e3591923c3 Gets auto-routing back office api controllers working, lots of notes 2020-05-14 17:04:16 +10:00
Shannon
39fed867c1 Cleans up some routing, mvc base classes, gets controller specific model binding working, applies our own application model to our controllers 2020-05-12 10:21:40 +10:00
Bjarke Berg
64dfa009f5 #6233 - version in config removed 2020-04-28 12:31:15 +02:00
Bjarke Berg
f79526e46a Merge remote-tracking branch 'origin/netcore/dev' into netcore/feature/AB6233-install-steps-in-dotnet-core
# Conflicts:
#	src/Umbraco.Infrastructure/Runtime/CoreInitialComposer.cs
#	src/Umbraco.Web.Common/Runtime/AspNetCoreComposer.cs
2020-04-24 08:23:55 +02:00
Bjarke Berg
79e9235338 AB#6233 - Install in .NET Core 2020-04-22 08:17:45 +02:00
Shannon
18b285f088 Splits profiler so it doesn't have to take a dependency since we don't want to pre-resolve. Adds enrichers to the container. 2020-04-22 15:23:51 +10:00
Bjarke Berg
ad4bce3b73 AB#5819 - Cleanup 2020-04-14 16:26:01 +02:00
Shannon
d56867757c Merge branch 'netcore/dev' into netcore/feature/ab5819-initialize-composers 2020-04-08 15:59:00 +10:00
Bjarke Berg
97cf099f9f AB#5819 - Moved composing of core/infrastructure items into CoreInitialComposer 2020-04-01 20:00:27 +02:00
Bjarke Berg
3aa849fff2 AB#5819 - Moved composing of core/infrastructure items into CoreInitialComposer 2020-04-01 15:50:46 +02:00
Bjarke Berg
55426515c0 Merge remote-tracking branch 'origin/netcore/dev' into netcore/feature/AB5822-smidge-implementation
# Conflicts:
#	src/Umbraco.Infrastructure/Media/ImageProcessorImageUrlGenerator.cs
#	src/Umbraco.Infrastructure/Models/ImageProcessorImageUrlGenerator.cs
#	src/Umbraco.Infrastructure/Models/ImageSharpImageUrlGenerator.cs
#	src/Umbraco.Web.BackOffice/AspNetCore/AspNetCoreComposer.cs
#	src/Umbraco.Web.Common/Extensions/UmbracoCoreServiceCollectionExtensions.cs
#	src/Umbraco.Web.UI.NetCore/Startup.cs
#	src/Umbraco.Web.UI.NetCore/appsettings.json
2020-03-31 15:36:25 +02:00
Bjarke Berg
b9ad6a0b7c AB#5820 - Cleanup 2020-03-31 15:02:02 +02:00
Bjarke Berg
2fc2166767 AB#5820 - Clean up 2020-03-30 07:14:22 +02:00
Bjarke Berg
681a25b861 Moved files from backoffice into Common + Introduced AspNetCoreComponent to invoke the Umbraco Application Init event 2020-03-27 11:39:17 +01:00