OrchardCMS / Orchard

Orchard is a free, open source, community-focused Content Management System built on the ASP.NET MVC platform.
https://orchardproject.net
BSD 3-Clause "New" or "Revised" License
2.38k stars 1.12k forks source link

Disabling Workflow with Multitenancy Throws Unrecoverable Autofac Error #4026

Open orchardbot opened 11 years ago

orchardbot commented 11 years ago

bmccleary created: https://orchard.codeplex.com/workitem/20198

Based on the request from Bertrand at the post at https://orchard.codeplex.com/discussions/461557#post1105272, this is a bug with version 1.7.1

I receive the error below when I try to disable Workflow for a site with multitenancy enabled. When I do this, the error is a "hard error" meaning I can no longer access either the admin or front end of the tenant's site and the only way to "fix" it is to physically delete the tenant's database. After disabling the module, in the front end of the "default" site, it displays messages stating:

Workflows was disabled Comments was disabled

Roles was disabled

Then, from the Default site admin dashboard, if I try to "suspend" the tenant site (in an attempt to try to get it back working) the same error is thrown on the Default site, and again, completely locking down the system, requiring me to delete and recreate the database.

I can duplicate this error with a brand new (source code) version of 1.7.1 and a clean database. Simply create a site, enable multi-tenancy, setup the tenant and then disable the Workflows module from within the tenant dashboard.

It's concerning that the "roles" was disabled, as that is part of the core system. If the Workflows module is required for multitenancy, it should not be allowed to be disabled.

Here's the error: None of the constructors found with 'Orchard.Environment.AutofacUtil.DynamicProxy2.ConstructorFinderWrapper' on type 'Orchard.Security.Authorizer' can be invoked with the available services and parameters: Cannot resolve parameter 'Orchard.Security.IAuthorizationService authorizationService' of constructor 'Void .ctor(Orchard.Security.IAuthorizationService, Orchard.UI.Notify.INotifier, Orchard.IWorkContextAccessor)'.

orchardbot commented 10 years ago

trentonadams commented:

I've got the same thing except with the Orchard.Forms module