Shannon
b75a786551
Ensures the ReaderWriterLockSlim within our caches are disposed at the end of the app
2021-04-20 16:41:11 +10: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
Elitsa Marinovska
d2a26bf4da
Caching RecycleBinSmells
2021-03-25 11:49:38 +01:00
Shannon
db863b3250
missing namespace after file split.
2021-03-15 13:45:09 +11:00
Shannon
f03fc25b4c
Splits into files, adds ICacheRefresherNotificationFactory, removes Init method
2021-03-15 13:39:34 +11:00
Bjarke Berg
06a202e30e
Migrated CacheRefresher events to IEventAggregator pattern.
2021-03-12 21:49:42 +01:00
Bjarke Berg
d81874aee3
Merge remote-tracking branch 'origin/netcore/dev' into netcore/feature/merge-v8-05032021
...
# Conflicts:
# src/Umbraco.Infrastructure/Persistence/SqlSyntax/SqlServerSyntaxProvider.cs
# src/Umbraco.Infrastructure/Search/ExamineComponent.cs
2021-03-09 09:31:55 +01:00
Bjarke Berg
37ed84871a
Merge remote-tracking branch 'origin/v8/dev' into netcore/dev
...
# Conflicts:
# build/NuSpecs/UmbracoCms.Core.nuspec
# build/NuSpecs/UmbracoCms.Web.nuspec
# src/SolutionInfo.cs
# src/Umbraco.Core/Cache/CacheKeys.cs
# src/Umbraco.Core/Composing/TypeFinder.cs
# src/Umbraco.Core/Configuration/GlobalSettings.cs
# src/Umbraco.Core/Configuration/GlobalSettingsExtensions.cs
# src/Umbraco.Core/Configuration/IGlobalSettings.cs
# src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs
# src/Umbraco.Core/Configuration/UmbracoSettings/ContentSectionExtensions.cs
# src/Umbraco.Core/Constants-AppSettings.cs
# src/Umbraco.Core/Editors/UserEditorAuthorizationHelper.cs
# src/Umbraco.Core/Extensions/StringExtensions.cs
# src/Umbraco.Core/Extensions/UriExtensions.cs
# src/Umbraco.Core/IO/IOHelper.cs
# src/Umbraco.Core/IO/PhysicalFileSystem.cs
# src/Umbraco.Core/Media/Exif/MathEx.cs
# src/Umbraco.Core/Media/UploadAutoFillProperties.cs
# src/Umbraco.Core/Models/Mapping/UserMapDefinition.cs
# src/Umbraco.Core/Models/Membership/User.cs
# src/Umbraco.Core/Models/UserExtensions.cs
# src/Umbraco.Core/Packaging/PackageDefinitionXmlParser.cs
# src/Umbraco.Core/PropertyEditors/ListViewConfiguration.cs
# src/Umbraco.Core/PropertyEditors/ValueConverters/MediaPickerValueConverter.cs
# src/Umbraco.Core/PropertyEditors/ValueConverters/MultiNodeTreePickerValueConverter.cs
# src/Umbraco.Core/Routing/AliasUrlProvider.cs
# src/Umbraco.Core/Routing/DefaultUrlProvider.cs
# src/Umbraco.Core/Routing/UriUtility.cs
# src/Umbraco.Core/Routing/UrlProviderExtensions.cs
# src/Umbraco.Core/Runtime/CoreRuntime.cs
# src/Umbraco.Core/RuntimeOptions.cs
# src/Umbraco.Core/RuntimeState.cs
# src/Umbraco.Core/Security/BackOfficeUserStore.cs
# src/Umbraco.Core/Security/ContentPermissions.cs
# src/Umbraco.Core/Sync/ApplicationUrlHelper.cs
# src/Umbraco.Core/Trees/TreeNode.cs
# src/Umbraco.Core/Udi.cs
# src/Umbraco.Examine.Lucene/BackOfficeExamineSearcher.cs
# src/Umbraco.Examine/Umbraco.Examine.csproj
# src/Umbraco.Infrastructure/Examine/ContentValueSetValidator.cs
# src/Umbraco.Infrastructure/Migrations/Install/DatabaseBuilder.cs
# src/Umbraco.Infrastructure/Packaging/PackageDataInstallation.cs
# src/Umbraco.Infrastructure/Persistence/SqlSyntax/SqlServerSyntaxProvider.cs
# src/Umbraco.Infrastructure/Scoping/Scope.cs
# src/Umbraco.Infrastructure/Search/ExamineComponent.cs
# src/Umbraco.Infrastructure/Security/IdentityMapDefinition.cs
# src/Umbraco.Infrastructure/Services/Implement/ContentService.cs
# src/Umbraco.Infrastructure/Services/Implement/MediaService.cs
# src/Umbraco.Infrastructure/Services/Implement/NotificationService.cs
# src/Umbraco.Persistence.SqlCe/SqlCeSyntaxProvider.cs
# src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/LocksTests.cs
# src/Umbraco.Tests.UnitTests/Umbraco.Core/Models/UserExtensionsTests.cs
# src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Editors/UserEditorAuthorizationHelperTests.cs
# src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Examine/UmbracoContentValueSetValidatorTests.cs
# src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs
# src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.config
# src/Umbraco.Tests/TestHelpers/SettingsForTests.cs
# src/Umbraco.Tests/Testing/TestDatabase.cs
# src/Umbraco.Tests/Web/Controllers/ContentControllerUnitTests.cs
# src/Umbraco.Tests/Web/Controllers/FilterAllowedOutgoingContentAttributeTests.cs
# src/Umbraco.Tests/Web/Controllers/MediaControllerUnitTests.cs
# src/Umbraco.Web.BackOffice/Controllers/BackOfficeServerVariables.cs
# src/Umbraco.Web.BackOffice/Controllers/CodeFileController.cs
# src/Umbraco.Web.BackOffice/Controllers/ContentController.cs
# src/Umbraco.Web.BackOffice/Controllers/EntityController.cs
# src/Umbraco.Web.BackOffice/Controllers/MacrosController.cs
# src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
# src/Umbraco.Web.BackOffice/Controllers/PackageInstallController.cs
# src/Umbraco.Web.BackOffice/Controllers/TourController.cs
# src/Umbraco.Web.BackOffice/Controllers/UserGroupEditorAuthorizationHelper.cs
# src/Umbraco.Web.BackOffice/Filters/FilterAllowedOutgoingContentAttribute.cs
# src/Umbraco.Web.BackOffice/Filters/FilterAllowedOutgoingMediaAttribute.cs
# src/Umbraco.Web.BackOffice/Mapping/ContentMapDefinition.cs
# src/Umbraco.Web.BackOffice/Services/IconService.cs
# src/Umbraco.Web.BackOffice/Trees/ContentTreeController.cs
# src/Umbraco.Web.BackOffice/Trees/ContentTreeControllerBase.cs
# src/Umbraco.Web.BackOffice/Trees/FileSystemTreeController.cs
# src/Umbraco.Web.BackOffice/Trees/MediaTreeController.cs
# src/Umbraco.Web.Common/Extensions/FormCollectionExtensions.cs
# src/Umbraco.Web.UI.Client/src/common/resources/content.resource.js
# src/Umbraco.Web.UI.Client/src/views/content/overlays/publish.html
# src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/editors/media.controller.js
# 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/config/umbracoSettings.Release.config
# src/Umbraco.Web/Cache/MemberCacheRefresher.cs
# src/Umbraco.Web/Composing/ModuleInjector.cs
# src/Umbraco.Web/Editors/BackOfficeController.cs
# src/Umbraco.Web/Editors/Binders/ContentModelBinderHelper.cs
# src/Umbraco.Web/Editors/ContentTypeController.cs
# src/Umbraco.Web/Editors/Filters/ContentSaveValidationAttribute.cs
# src/Umbraco.Web/Editors/Filters/MediaItemSaveValidationAttribute.cs
# src/Umbraco.Web/Editors/Filters/UserGroupAuthorizationAttribute.cs
# src/Umbraco.Web/Editors/TinyMceController.cs
# src/Umbraco.Web/Editors/UserGroupsController.cs
# src/Umbraco.Web/Editors/UsersController.cs
# src/Umbraco.Web/ImageCropperTemplateExtensions.cs
# src/Umbraco.Web/Logging/WebProfiler.cs
# src/Umbraco.Web/Logging/WebProfilerProvider.cs
# src/Umbraco.Web/Macros/PublishedContentHashtableConverter.cs
# src/Umbraco.Web/Mvc/EnsurePublishedContentRequestAttribute.cs
# src/Umbraco.Web/Mvc/JsonNetResult.cs
# src/Umbraco.Web/Mvc/MemberAuthorizeAttribute.cs
# src/Umbraco.Web/Mvc/RenderRouteHandler.cs
# src/Umbraco.Web/PropertyEditors/MediaPickerPropertyEditor.cs
# src/Umbraco.Web/PropertyEditors/MultiNodeTreePickerPropertyEditor.cs
# src/Umbraco.Web/PublishedCache/NuCache/DataSource/DatabaseDataSource.cs
# src/Umbraco.Web/RoutableDocumentFilter.cs
# src/Umbraco.Web/Routing/ContentFinderByUrlAlias.cs
# src/Umbraco.Web/Routing/NotFoundHandlerHelper.cs
# src/Umbraco.Web/Routing/PublishedRouter.cs
# src/Umbraco.Web/Runtime/WebInitialComposer.cs
# src/Umbraco.Web/Scheduling/KeepAlive.cs
# src/Umbraco.Web/Security/AppBuilderExtensions.cs
# src/Umbraco.Web/Security/BackOfficeClaimsIdentityFactory.cs
# src/Umbraco.Web/Security/Providers/UmbracoMembershipProvider.cs
# src/Umbraco.Web/Trees/DictionaryTreeController.cs
# src/Umbraco.Web/Trees/LanguageTreeController.cs
# src/Umbraco.Web/Trees/LogViewerTreeController.cs
# src/Umbraco.Web/Trees/PackagesTreeController.cs
# src/Umbraco.Web/UmbracoApplication.cs
# src/Umbraco.Web/UmbracoApplicationBase.cs
# src/Umbraco.Web/UmbracoInjectedModule.cs
# src/Umbraco.Web/WebApi/Filters/AdminUsersAuthorizeAttribute.cs
# src/Umbraco.Web/WebApi/Filters/CheckIfUserTicketDataIsStaleAttribute.cs
# src/Umbraco.Web/WebApi/Filters/EnsureUserPermissionForContentAttribute.cs
# src/Umbraco.Web/WebApi/Filters/EnsureUserPermissionForMediaAttribute.cs
# src/Umbraco.Web/WebApi/MemberAuthorizeAttribute.cs
2021-03-05 15:36:27 +01: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
dfc202a6c8
init code cleanup
2021-03-03 09:56:34 +11:00
Kenn Jacobsen
2f737fbbcd
Remove legacy member cache refresher and unused typed cache refresher base class
2021-02-19 13:57:38 +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
Shannon
3b3d55ca26
Fixes issue with broken caches used for user permissions
...
Calculating start nodes is expensive and this is supposed to be cached but the cache was not working.
2021-02-09 13:43:28 +11:00
Shannon
307ef4c1e0
Removes IBatchedDatabaseServerMessenger, renames methods of IServerMessenger
2020-12-24 14:44:42 +11:00
Shannon
e785ac28a3
Moves more services and registrations "up", removes AspNetCoreComposer logic and moves to AddWebComponents
2020-12-24 14:29:26 +11:00
Shannon
b20ce5a92e
A bunch of cleanup for DI namespaces, ext methods and dist cache classes
2020-12-24 09:50:05 +11:00
Paul Johnson
0241649f7f
Cleanup AddUmbraco & AddUmbracoCore
2020-11-21 15:22:24 +00:00
Andy Butland
507facbdaa
NetCore: Further unit test migration ( #9269 )
...
* Migrated ContentExtensionsTests.
* Migrated PropertyCollectionTests.
* Migrated AbstractFileSystemTests and PhysicalFileSystem tests.
* Migrated SiteDomainHelper tests.
* Migrated DistributedCacheTests.
* Migrated AppCacheTests and derived test classes.
Amended HttpRequestApp underlying dictionary type to match that available in .NET Core HttpContext Items collection.
* Fixed namespace
Signed-off-by: Bjarke Berg <mail@bergmania.dk >
Co-authored-by: Bjarke Berg <mail@bergmania.dk >
2020-10-26 14:26:49 +01:00
Bjarke Berg
e3c8bd8ced
Merge remote-tracking branch 'origin/v8/dev' into netcore/dev
...
# Conflicts:
# src/Umbraco.Core/Cache/MemberCacheRefresher.cs
# src/Umbraco.Infrastructure/Compose/NotificationsComponent.cs
# src/Umbraco.Infrastructure/Search/ExamineComponent.cs
# src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs
# src/Umbraco.Web/Security/MembershipHelper.cs
# src/Umbraco.Web/Security/Providers/UmbracoMembershipProvider.cs
2020-09-23 12:54:13 +02:00
Bjarke Berg
c0ec1bf6ca
Introduced GenericDictionaryRequestAppCache, to use the HttpContext.Items from .NET Core
2020-04-20 13:21:09 +02:00
Shannon
a855a90a8a
cleaner fix
2020-03-26 22:09:49 +11:00
Shannon
6fef85aafd
fixes Memory Leak in GetCacheItem cache dependency #7773
2020-03-26 22:03:26 +11:00
Bjarke Berg
f84798322c
AB3671 - Moved WebRuntime into infrastracutre, and removed typefinder reference in AppCaches (Replaced with string input with Type)..
...
- Move initialized of Current.Factory out of webruntime
2020-03-19 08:53:18 +01:00
Bjarke Berg
1ea39f2762
Merge remote-tracking branch 'origin/v8/dev' into netcore/dev
...
# Conflicts:
# src/Umbraco.Core/Models/PublishedContent/IPublishedContent.cs
# src/Umbraco.Core/Models/PublishedContent/PublishedContentBase.cs
# src/Umbraco.Core/Models/PublishedContent/PublishedContentWrapped.cs
# src/Umbraco.Core/Packaging/ConflictingPackageData.cs
# src/Umbraco.Core/Packaging/PackagesRepository.cs
# src/Umbraco.Core/PublishedCache/PublishedMember.cs
# src/Umbraco.Infrastructure/Persistence/Repositories/Implement/MacroRepository.cs
# src/Umbraco.Infrastructure/PropertyEditors/RichTextEditorPastedImages.cs
# src/Umbraco.PublishedCache.NuCache/PublishedContent.cs
# src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs
# src/Umbraco.Tests/PublishedContent/SolidPublishedSnapshot.cs
# src/Umbraco.Web/Macros/PublishedContentHashtableConverter.cs
# src/Umbraco.Web/PublishedContentExtensions.cs
# src/Umbraco.Web/Trees/MediaTypeTreeController.cs
2020-03-02 08:34:52 +01:00
Bjarke Berg
90c2381c86
Renamed Umbraco.Abstractions to Umbraco.Core
2020-02-24 08:21:53 +01:00
abi
a7ad464b40
Remove Empty Statements
2020-02-12 15:11:18 +01:00
Bjarke Berg
a22824e33a
AB4227 - Moved Persistence Repository implementations
2019-12-18 13:42:27 +01:00
Shannon
db216e43b7
Moves the WebCachingAppCache to the web project
2019-11-08 15:00:15 +11:00
Shannon
74d12a4d62
Moves more cache items to the abstractions project, decouples the HttpRequestAppCache from System.Web
2019-11-08 14:51:20 +11:00
Shannon
6398f1e216
Creates ITypeFinder interface and simplifies type finder with TypeFinderExtensions, moves GetTypeByName to TypeHelper using assembly name parsing instead of scanning every assembly.
2019-11-08 14:26:06 +11:00
Shannon
c91465e2b2
new IJsonSerializer, moves other base cache refresher classes
2019-11-07 21:28:56 +11:00
Shannon
327ea04d98
Moves AppCaches and cache refresher bases
2019-11-07 19:56:49 +11:00
Shannon
3b862f7e3a
Installs runtime cache nuget into abstractions, moves more cache classes and preps AppCaches to not rely on system.web.
2019-11-07 19:39:20 +11:00
Shannon
922671eb7d
Creates SafeLazy to be used by all caching things instead of relying on the base class as a static that cannot be moved right now.
2019-11-07 19:16:45 +11:00
Shannon
b36f9e925e
moves DictionaryAppCache
2019-11-07 18:57:40 +11:00
Shannon
2a8b505a66
Moves more cache classes
2019-11-07 18:50:14 +11:00
Shannon
1193d8fecd
Moves IRepositoryCachePolicy
2019-11-07 18:36:29 +11:00
Shannon
ae94b668c5
Moves IAppPolicyCache
2019-11-07 18:35:21 +11:00
Shannon
b4f3cc005d
Removes CacheItemPriority since this wasn't used, or was used in one place innapropriately.
2019-11-07 18:34:05 +11:00
Shannon
5ec78cd510
Removes totally unused CacheItemRemovedCallback
2019-11-07 18:29:16 +11:00
Steve Megson
8463f1db08
Cache lookup of macro by alias
2019-10-29 21:34:25 +01:00
Bjarke Berg
8bf90bae91
Started moving caches..
2019-05-20 18:28:35 +02:00
Stephan
4e87dd389d
Refactor Content/Media/Member type repositories
2019-03-19 16:28:50 +01:00
Stephan
01b82ee4e8
Bugfix HttpRequestAppCache locking
2019-02-14 08:48:20 +01:00
Chris Houston
193e24afd2
Fixing all the TODO, FIXME & HACK comments so they all follow the same layout.
2019-01-27 11:16:00 +01:00
Bjarke Berg
49b2a9a080
Fixes for search of members + Removed fixme in member that apparently are not necessary after tags refactoring
2019-01-24 12:17:30 +01:00
Chris Houston
78319bae9e
Temp8 fix typos 2 ( #4130 )
2019-01-23 00:03:39 +01:00
Stephan
4a0b969777
Deal with fixme in Umbraco.Core
2019-01-21 16:01:37 +01:00
Stephan
1506d8c3fa
Kill AppCaches.StaticCache
2019-01-18 15:49:54 +01:00
Stephan
ec58532f7b
More renaming of caches
2019-01-18 08:29:16 +01:00