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]
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) } }