Below is the example of using the SetMbSec operation to change user parameters. The request contains a new user password and a group, to which the user is included. The response contains the updated list of repository users.
{
"SetMbSec" :
{
"tMbSec" :
{
"id" : "S2!M"
},
"tArg" :
{
"pattern" :
{
"users" : "Change",
"user" :
{
"data" : "true",
"memberOf" : "Set"
}
},
"meta" :
{
"users" :
{
"its" :
{
"it" :
[
{
"k" : "18446744073709551615",
"id" : "PPUser",
"vis" : "true",
"type" : "User",
"sid" :
{
"sid" : ""
},
"data" :
{
"memberOf" :
{
"its" :
{
"it" :
[
{
"k" : "2147483649",
"id" : "ADMINISTRATORS",
"n" : "Built-in group of administrators",
"vis" : "true",
"type" : "Group",
"sid" :
{
"sid" : "ACE44219CCF4F3EB315E1B1EF525736",
"type" : "Group"
},
"data" :
{
"desc" : "Built-in group of administrators",
"isNT" : "false",
"isExternal" : "true",
"isBuiltin" : "true",
"group" :
{
"members" :
{
"its" :
{
"it" :
[
{
"k" : "2147483649",
"id" : "ADMIN",
"n" : "User",
"vis" : "true",
"type" : "User",
"sid" :
{
"sid" : "ACE44119CCF4F3EB315E1B1EF525736",
"type" : "User"
}
}
]
}
}
}
}
}
]
}
},
"user" :
{
"credentials" :
{
"pass" : "q1"
},
"oldCredentials" :
{
"pass" : "PPUser"
}
}
}
}
]
}
}
},
"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" : "8954",
"id" : "PPUSER",
"n" : "PPUser",
"vis" : "1",
"type" : "User",
"sid" :
{
"sid" : "ACE44189549CCF4F3EB315E1B1EF525736",
"type" : "User"
}
}
]
}
}
}
}
}
}
public static SetMbSecResult ChangeUser(string mb, string userName, string oldPassword, string newPassword, MbSubject group)
{
var somClient = new SomPortTypeClient(); //Proxy object for operation execution
//Operation execution parameters
var setMbSec = new SetMbSec()
{
tArg = new SetMbSecArg()
{
//Operation execution pattern
pattern = new MbSecMdPattern()
{
users = ListOperation.Change,
user = new MbSubjectPattern()
{
data = true,
memberOf = ListOperation.Set
}
},
meta = new MbSecMd()
{
users = new MbSubjects()
{
its = new MbSubject[1]
{
new MbSubject()
{
k = ulong.MaxValue,
id = userName,
vis = true,
type = MbSubjectType.User,
sid = new SubjectSid() {sid = string.Empty},
data = new MbSubjectData()
{
user = new MbUserData()
{
//Old password
oldCredentials = new UserCreds() {pass = oldPassword},
//New password
credentials = new UserCreds() {pass = newPassword}
},
//Group, to which user is included
memberOf = new MbSubjects()
{
its = new MbSubject[1]
{
group
}
}
}
}
}
}
},
//User list refresh parameters after operation execution
metaGet = new GetMbSecArg()
{
pattern = new MbSecMdPattern()
{
users = ListOperation.Get
}
}
},
//Repository moniker
tMbSec = new MbId() { id = mb }
};
//Change user parameters
var result = somClient.SetMbSec(setMbSec);
return result;
}
See also:
SOAP