The example of using the SetMbSec operation to create a new repository user. The request contains the name and basic parameters of the created user. The response contains the updated list of repository users.
{
"SetMbSec" :
{
"tMbSec" :
{
"id" : "S2!M"
},
"tArg" :
{
"pattern" :
{
"users" : "Add",
"credsCache" : "Add"
},
"meta" :
{
"users" :
{
"its" :
{
"it" :
[
{
"k" : "0",
"id" : "PPUser",
"n" : "PPUser",
"vis" : "true",
"type" : "User",
"sid" :
{
"sid" : ""
},
"data" :
{
"desc" : "",
"isNT" : "false",
"tag" : "",
"user" :
{
"mustChangePasswordAtNextLogon" : "true",
"lockedState" : "NotLocked",
"maxLogonSessions" : "3",
"credentials" :
{
"pass" : "PPUser"
}
}
}
}
]
}
},
"credsCache" :
{
"its" :
{
"it" :
[
{
"realm" : "$SYSTEM",
"admin" : "true",
"creds" :
{
"user" :
{
"id" : "sa"
},
"pass" : "Qwerty1"
}
}
]
}
}
},
"metaGet" :
{
"pattern" :
{
"users" : "Get"
}
}
}
}
}
{
"SetMbSecResult" :
{
"id" :
{
"id" : "S2!M"
},
"metaGet" :
{
"id" :
{
"id" : "S2!M"
},
"meta" :
{
"users" :
{
"its" :
{
"it" :
[
{
"k" : "2147483649",
"id" : "ADMIN",
"n" : "User",
"vis" : "1",
"type" : "User",
"sid" :
{
"sid" : "ACE44119CCF4F3EB315E1B1EF525736",
"type" : "User"
}
},
{
"k" : "5412",
"id" : "SACHA",
"n" : "User0",
"vis" : "1",
"type" : "User"
"sid" :
{
"sid" : "ACE44154129CCF4F3EB315E1B1EF525736",
"type" : "User"
}
},
{
"k" : "5413",
"id" : "SACHA1",
"n" : "User0"
"vis" : "1",
"type" : "User",
"sid" :
{
"sid" : "ACE44154139CCF4F3EB315E1B1EF525736",
"type" : "User"
}
},
{
"k" : "5414",
"id" : "SACHA2",
"n" : "User0",
"vis" : "1",
"type" : "User",
"sid" :
{
"sid" : "ACE44154149CCF4F3EB315E1B1EF525736",
"type" : "User"
}
}
{
"k" : "2147483645",
"id" : "PROGNOZ\KATAEVA",
"n" : "Kataeva, Yuliya Yu.",
"vis" : "1",
"type" : "User",
"sid" :
{
"sid" : "S-1-5-21-1287548229-1982989762-879972363-15585",
"type" : "User"
}
},
{
"k" : "8208",
"id" : "PPUSER",
"n" : "PPUser",
"vis" : "1",
"type" : "User",
"sid" :
{
"sid" : "ACE44182089CCF4F3EB315E1B1EF525736", "type" : "User" } } ] } } } } } }
The CreateUser function specified below creates a repository user. The repository connection moniker and the name of the created user are sent as input parameters. Required parameters are displayed for the user. The result of the operation is the result of the function.
public static SetMbSecResult CreateUser(string mb, string userName)
{
var somClient = new SomPortTypeClient(); //Proxy object for operation execution
//Operation execution parameters
var setMbSec = new SetMbSec()
{
tArg = new SetMbSecArg()
{
//Data execution pattern
pattern = new MbSecMdPattern()
{
users = ListOperation.Add,
credsCache = ListOperation.Add
},
meta = new MbSecMd()
{
// User credentials, under which connection to database server is executed
// Specified user must have permissions to create users at DBMS level
credsCache = new UserCredsCache
{
its = new RealmUserCreds[]
{
new RealmUserCreds
{
realm = "$SYSTEM",
admin = true,
creds = new UserCreds
{
user = new UserId { id = "sa" },
pass = "Qwerty1"
}
}
}
},
users = new MbSubjects()
{
its = new MbSubject[1]
{
new MbSubject()
{
k = 0,
id = userName,
n = userName,
vis = true,
type = MbSubjectType.User,
sid = new SubjectSid() {sid = string.Empty},
data = new MbSubjectData()
{
desc = String.Empty,
isNT = false,
user = new MbUserData()
{
mustChangePasswordAtNextLogon = true,
maxLogonSessions = 3,
lockedState = MbUserLockedState.NotLocked,
credentials = new UserCreds() {pass = userName}
},
tag = String.Empty
}
}
}
}
},
//User list update parameters after operation execution
metaGet = new GetMbSecArg()
{
pattern = new MbSecMdPattern()
{
users = ListOperation.Get
}
}
},
//Repository moniker
tMbSec = new MbId() { id = mb }
};
//Create user
var result = somClient.SetMbSec(setMbSec);
return result;
}
See also:
SOAP