Table of Contents

Class UsersController

Namespace
Umbraco.Cms.Web.BackOffice.Controllers
Assembly
Umbraco.Web.BackOffice.dll
[Authorize(Policy = "SectionAccessUsers")]
[PrefixlessBodyModelValidator]
public class UsersController : BackOfficeNotificationsController
Inheritance
UsersController
Inherited Members

Constructors

UsersController(MediaFileManager, IOptionsSnapshot<ContentSettings>, IHostingEnvironment, ISqlContext, IImageUrlGenerator, IOptionsSnapshot<SecuritySettings>, IEmailSender, IBackOfficeSecurityAccessor, AppCaches, IShortStringHelper, IUserService, ILocalizedTextService, IUmbracoMapper, IOptionsSnapshot<GlobalSettings>, IBackOfficeUserManager, ILoggerFactory, LinkGenerator, IBackOfficeExternalLoginProviders, UserEditorAuthorizationHelper, IPasswordChanger<BackOfficeIdentityUser>, IHttpContextAccessor, IOptions<WebRoutingSettings>)

[Obsolete("Use constructor overload that has fileStreamSecurityValidator, scheduled for removal in v14")]
public UsersController(MediaFileManager mediaFileManager, IOptionsSnapshot<ContentSettings> contentSettings, IHostingEnvironment hostingEnvironment, ISqlContext sqlContext, IImageUrlGenerator imageUrlGenerator, IOptionsSnapshot<SecuritySettings> securitySettings, IEmailSender emailSender, IBackOfficeSecurityAccessor backofficeSecurityAccessor, AppCaches appCaches, IShortStringHelper shortStringHelper, IUserService userService, ILocalizedTextService localizedTextService, IUmbracoMapper umbracoMapper, IOptionsSnapshot<GlobalSettings> globalSettings, IBackOfficeUserManager backOfficeUserManager, ILoggerFactory loggerFactory, LinkGenerator linkGenerator, IBackOfficeExternalLoginProviders externalLogins, UserEditorAuthorizationHelper userEditorAuthorizationHelper, IPasswordChanger<BackOfficeIdentityUser> passwordChanger, IHttpContextAccessor httpContextAccessor, IOptions<WebRoutingSettings> webRoutingSettings)

Parameters

mediaFileManager MediaFileManager
contentSettings IOptionsSnapshot<ContentSettings>
hostingEnvironment IHostingEnvironment
sqlContext ISqlContext
imageUrlGenerator IImageUrlGenerator
securitySettings IOptionsSnapshot<SecuritySettings>
emailSender IEmailSender
backofficeSecurityAccessor IBackOfficeSecurityAccessor
appCaches AppCaches
shortStringHelper IShortStringHelper
userService IUserService
localizedTextService ILocalizedTextService
umbracoMapper IUmbracoMapper
globalSettings IOptionsSnapshot<GlobalSettings>
backOfficeUserManager IBackOfficeUserManager
loggerFactory ILoggerFactory
linkGenerator LinkGenerator
externalLogins IBackOfficeExternalLoginProviders
userEditorAuthorizationHelper UserEditorAuthorizationHelper
passwordChanger IPasswordChanger<BackOfficeIdentityUser>
httpContextAccessor IHttpContextAccessor
webRoutingSettings IOptions<WebRoutingSettings>

UsersController(MediaFileManager, IOptionsSnapshot<ContentSettings>, IHostingEnvironment, ISqlContext, IImageUrlGenerator, IOptionsSnapshot<SecuritySettings>, IEmailSender, IBackOfficeSecurityAccessor, AppCaches, IShortStringHelper, IUserService, ILocalizedTextService, IUmbracoMapper, IOptionsSnapshot<GlobalSettings>, IBackOfficeUserManager, ILoggerFactory, LinkGenerator, IBackOfficeExternalLoginProviders, UserEditorAuthorizationHelper, IPasswordChanger<BackOfficeIdentityUser>, IHttpContextAccessor, IOptions<WebRoutingSettings>, IFileStreamSecurityValidator)

[ActivatorUtilitiesConstructor]
public UsersController(MediaFileManager mediaFileManager, IOptionsSnapshot<ContentSettings> contentSettings, IHostingEnvironment hostingEnvironment, ISqlContext sqlContext, IImageUrlGenerator imageUrlGenerator, IOptionsSnapshot<SecuritySettings> securitySettings, IEmailSender emailSender, IBackOfficeSecurityAccessor backofficeSecurityAccessor, AppCaches appCaches, IShortStringHelper shortStringHelper, IUserService userService, ILocalizedTextService localizedTextService, IUmbracoMapper umbracoMapper, IOptionsSnapshot<GlobalSettings> globalSettings, IBackOfficeUserManager backOfficeUserManager, ILoggerFactory loggerFactory, LinkGenerator linkGenerator, IBackOfficeExternalLoginProviders externalLogins, UserEditorAuthorizationHelper userEditorAuthorizationHelper, IPasswordChanger<BackOfficeIdentityUser> passwordChanger, IHttpContextAccessor httpContextAccessor, IOptions<WebRoutingSettings> webRoutingSettings, IFileStreamSecurityValidator fileStreamSecurityValidator)

Parameters

mediaFileManager MediaFileManager
contentSettings IOptionsSnapshot<ContentSettings>
hostingEnvironment IHostingEnvironment
sqlContext ISqlContext
imageUrlGenerator IImageUrlGenerator
securitySettings IOptionsSnapshot<SecuritySettings>
emailSender IEmailSender
backofficeSecurityAccessor IBackOfficeSecurityAccessor
appCaches AppCaches
shortStringHelper IShortStringHelper
userService IUserService
localizedTextService ILocalizedTextService
umbracoMapper IUmbracoMapper
globalSettings IOptionsSnapshot<GlobalSettings>
backOfficeUserManager IBackOfficeUserManager
loggerFactory ILoggerFactory
linkGenerator LinkGenerator
externalLogins IBackOfficeExternalLoginProviders
userEditorAuthorizationHelper UserEditorAuthorizationHelper
passwordChanger IPasswordChanger<BackOfficeIdentityUser>
httpContextAccessor IHttpContextAccessor
webRoutingSettings IOptions<WebRoutingSettings>
fileStreamSecurityValidator IFileStreamSecurityValidator

Methods

GetById(int)

Gets a user by Id

[Authorize(Policy = "AdminUserEditsRequireAdmin")]
public ActionResult<UserDisplay?> GetById(int id)

Parameters

id int

Returns

ActionResult<UserDisplay>

GetByIds(int[])

Get users by integer ids

[Authorize(Policy = "AdminUserEditsRequireAdmin")]
public ActionResult<IEnumerable<UserDisplay?>> GetByIds(int[] ids)

Parameters

ids int[]

Returns

ActionResult<IEnumerable<UserDisplay>>

GetCurrentUserAvatarUrls()

Returns a list of the sizes of gravatar URLs for the user or null if the gravatar server cannot be reached

public ActionResult<string[]> GetCurrentUserAvatarUrls()

Returns

ActionResult<string[]>

GetPagedUsers(int, int, string, Direction, string[]?, UserState?[]?, string)

Returns a paged users collection

public UsersController.PagedUserResult GetPagedUsers(int pageNumber = 1, int pageSize = 10, string orderBy = "username", Direction orderDirection = 0, string[]? userGroups = null, UserState?[]? userStates = null, string filter = "")

Parameters

pageNumber int
pageSize int
orderBy string
orderDirection Direction
userGroups string[]
userStates UserState[]
filter string

Returns

UsersController.PagedUserResult

PostChangePassword(ChangingPasswordModel)

public Task<ActionResult<ModelWithNotifications<string?>>> PostChangePassword(ChangingPasswordModel changingPasswordModel)

Parameters

changingPasswordModel ChangingPasswordModel

Returns

Task<ActionResult<ModelWithNotifications<string>>>

PostClearAvatar(int)

[AppendUserModifiedHeader("id")]
[Authorize(Policy = "AdminUserEditsRequireAdmin")]
public ActionResult<string[]> PostClearAvatar(int id)

Parameters

id int

Returns

ActionResult<string[]>

PostCreateUser(UserInvite)

Creates a new user

public Task<ActionResult<UserDisplay?>> PostCreateUser(UserInvite userSave)

Parameters

userSave UserInvite

Returns

Task<ActionResult<UserDisplay>>

PostDeleteNonLoggedInUser(int)

Deletes the non-logged in user provided id

[Authorize(Policy = "AdminUserEditsRequireAdmin")]
public IActionResult PostDeleteNonLoggedInUser(int id)

Parameters

id int

User Id

Returns

IActionResult

Remarks

Limited to users that haven't logged in to avoid issues with related records constrained with a foreign key on the user Id

PostDisableUsers(int[])

Disables the users with the given user ids

[Authorize(Policy = "AdminUserEditsRequireAdmin")]
public IActionResult PostDisableUsers(int[] userIds)

Parameters

userIds int[]

Returns

IActionResult

PostEnableUsers(int[])

Enables the users with the given user ids

[Authorize(Policy = "AdminUserEditsRequireAdmin")]
public IActionResult PostEnableUsers(int[] userIds)

Parameters

userIds int[]

Returns

IActionResult

PostInviteUser(UserInvite)

Invites a user

public Task<ActionResult<UserDisplay?>> PostInviteUser(UserInvite userSave)

Parameters

userSave UserInvite

Returns

Task<ActionResult<UserDisplay>>

Remarks

This will email the user an invite and generate a token that will be validated in the email

PostSaveUser(UserSave)

Saves a user

public ActionResult<UserDisplay?> PostSaveUser(UserSave userSave)

Parameters

userSave UserSave

Returns

ActionResult<UserDisplay>

PostSetAvatar(int, IList<IFormFile>)

[AppendUserModifiedHeader("id")]
[Authorize(Policy = "AdminUserEditsRequireAdmin")]
public IActionResult PostSetAvatar(int id, IList<IFormFile> file)

Parameters

id int
file IList<IFormFile>

Returns

IActionResult

PostSetUserGroupsOnUsers(string[], int[])

[Authorize(Policy = "AdminUserEditsRequireAdmin")]
public IActionResult PostSetUserGroupsOnUsers(string[] userGroupAliases, int[] userIds)

Parameters

userGroupAliases string[]
userIds int[]

Returns

IActionResult

PostUnlockUsers(int[])

Unlocks the users with the given user ids

[Authorize(Policy = "AdminUserEditsRequireAdmin")]
public Task<IActionResult> PostUnlockUsers(int[] userIds)

Parameters

userIds int[]

Returns

Task<IActionResult>