Can I create an User Account from code
LS, Is it possible to create User Accounts, and assign specific Roles to them, from objectscript?
Product version: IRIS 2021.1
$ZV: IRIS for Windows (x86-64) 2021.1 (Build 215U) Wed Jun 9 2021 09:39:22 EDT [Health:3.3.0]
Discussion (3)2
Comments
Yes - see Security.Users (class reference) in the %SYS namespace.
Thanks.
You can use the Create method of the Security.Users class to do that. Bear in mind that class is in %SYS. Documentation for Create is here: Security.Users.
set $nameSpace = "%SYS"
if '##class(Security.Users).Exists("testuser") {
// Set properties
set props("Enabled")=1
set props("Name")=testuser
set props("FullName")="Test User"
set props("SuperUser")=0
set props("NameSpace")="USER"
set props("Roles")="%Developer,%Operator,TestRole"
set props("Password")=userpassword
set props("PasswordNeverExpires")=0
set props("ChangePassword")=0
set props("Routine")=""
set props("ExpirationDate")=""
set props("Flags")=1
set props("EmailAddress")=""
set status=##class(Security.Users).Create(user, .props)
if $$$ISERR(status) {
do $system.Status.DecomposeStatus(status, .err)
}
}