Skip to content
User Circle Management

User Circle Management

User circles delegate user administration. A circle is a subset of users, defined by rules such as mail domains, roles or groups. Its administrators can manage the members of the circle without being global administrators: assign the roles and groups the circle allows, enable, disable or verify accounts, or delete them.

Creating a user circle

Enable

import cfgusercircle "go.wdy.de/nago/application/usercircle/cfg"

circles := std.Must(cfgusercircle.Enable(cfg)) // cfgusercircle.Management

User circles enable User, Role and Group Management. cfgusercircle.Management has the fields UseCases usercircle.UseCases and Pages uiusercircles.Pages.

Circles

A circle (usercircle.Circle) has a name, description and avatar, and:

  • Administrators: the users who manage the circle,
  • Roles, Groups: the roles and groups the administrators may assign,
  • CanDelete, CanDisable, CanEnable, CanVerify: what the administrators may do with accounts,
  • member rules: MemberRuleUsers, MemberRuleDomains (e.g. @example.com), MemberRuleRoles, MemberRuleGroups and MemberRuleUsersBlacklist.

Use cases

Use caseDescription
Create, Update, DeleteByIDManage circles.
FindAll, FindByIDLoad circles.
MyCirclesLists the circles the subject administers.
MyCircleMembersLists the members of a circle.
IsMyCircleMember, IsCircleAdminCheck membership and administration.
MyRoles, MyGroupsList the roles and groups a circle may assign.
MyCircleRolesAdd, MyCircleRolesRemoveAssign or remove roles of a member.
MyCircleGroupsAdd, MyCircleGroupsRemoveAssign or remove groups of a member.
MyCircleUserUpdateStatusEnables or disables a member.
MyCircleUserVerifiedMarks the mail address of a member as verified.
MyCircleUserRemoveDeletes a member.

Permissions

PermissionAllows to
nago.usercircle.createcreate circles
nago.usercircle.updateupdate circles
nago.usercircle.find_by_idview a circle
nago.usercircle.find_alllist all circles
nago.usercircle.deletedelete circles

The MyCircle* use cases need no permission; they check that the subject is an administrator of the circle.

UI

admin/user/circles manages the circles. Circle administrators get a card per circle in the admin center group Nutzerkreise, which leads to admin/user/my-circle and its pages for users, roles and groups.

Related