Quantcast
Channel: ActiveTopics
Viewing all articles
Browse latest Browse all 72689

Custom MemberGroupService only working under "Members" but not in "Public access"

$
0
0

I've implemented my owm membership/role provider and also my own IMemberGroupService by registering it in a composer like so:

[RuntimeLevel(MinLevel = RuntimeLevel.Run)]
public class MembersComposer : IUserComposer
{
    public void Compose(Composition composition)
    {
        composition.RegisterUnique<IMemberGroupService, DEMemberGroupService>();
    }
}

And a my test implementation of that service:

public class DEMemberGroupService : IMemberGroupService
{
    public IEnumerable<IMemberGroup> GetAll()
    {
        var memberGroups = new List<MemberGroup>();
        memberGroups.Add(new MemberGroup
        {
            Name = "DE Medlem",
            Id = 0
        });

        return memberGroups;
    }

    public IMemberGroup GetById(int id)
    {
        return GetAll().FirstOrDefault(x => x.Id == id);
    }

    public IEnumerable<IMemberGroup> GetByIds(IEnumerable<int> ids)
    {
        return ids.Select(GetById);
    }

    public IMemberGroup GetByName(string name)
    {
        return GetAll().FirstOrDefault(x => x.Name == name);
    }

    public void Save(IMemberGroup memberGroup, bool raiseEvents = true)
    {
        throw new NotImplementedException();
    }

    public void Delete(IMemberGroup memberGroup)
    {
        throw new NotImplementedException();
    }
}

Now when i go to "Members -> Member Groups" i see my "DE Medlem" group just fine.

But when i go to set "Public access" on content and choose to set "Group based", i get:

You need to create a member group before you can use group based authentication

Also the response from /umbraco/backoffice/UmbracoApi/MemberGroup/GetAllGroups looks a bit funny, but might be unrelated.

)]}',
[]

Any ideas?


Viewing all articles
Browse latest Browse all 72689

Trending Articles