Dan
01/24/2024, 5:22 PMJemayn
01/25/2024, 9:37 AMcsharp
using Skybrud.Umbraco.Redirects.Helpers;
using Umbraco.Cms.Core.Composing;
using Umbraco.Cms.Core.Dashboards;
namespace Test;
public class SkybrudDashboardAccessOverwrite : IComposer
{
public void Compose(IUmbracoBuilder builder)
{
builder.Services.AddUnique<RedirectsBackOfficeHelper, MyRedirectsBackOfficeHelper>();
}
}
public class MyRedirectsBackOfficeHelper : RedirectsBackOfficeHelper {
public MyRedirectsBackOfficeHelper(RedirectsBackOfficeHelperDependencies dependencies) : base(dependencies)
{
}
public override IAccessRule[] GetDashboardAccessRules()
{
return new IAccessRule[]
{
new AccessRule {Type = AccessRuleType.Deny, Value = Umbraco.Cms.Core.Constants.Security.WriterGroupAlias},
new AccessRule {Type = AccessRuleType.Grant, Value = Umbraco.Cms.Core.Constants.Security.AdminGroupAlias},
new AccessRule {Type = AccessRuleType.Grant, Value = "marketing"}
};
}
}
Dan
01/25/2024, 10:51 AMAnders Bjerner
01/25/2024, 11:49 AM[ComposeAfter(typeof(RedirectsComposer))]
to your composer class. Assemblies are registered alphabetically, so if your assembly name is before Skybrud...
, it likely wouldn't have worked. IIRC .AddUnique
doesn't fix that.Anders Bjerner
01/25/2024, 11:51 AMDan
01/25/2024, 12:42 PMAnders Bjerner
01/25/2024, 12:45 PMDan
01/25/2024, 1:41 PM