private OSDMap doLogin(OSDMap map, bool asAdmin)
{
string Name = map["Name"].AsString();
string Password = map["Password"].AsString();
ILoginService loginService = m_registry.RequestModuleInterface<ILoginService>();
IUserAccountService accountService = m_registry.RequestModuleInterface<IUserAccountService>();
IAgentConnector agentConnector = Aurora.DataManager.DataManager.RequestPlugin<IAgentConnector>();
UserAccount account = null;
OSDMap resp = new OSDMap();
resp["Verified"] = OSD.FromBoolean(false);
account = accountService.GetUserAccount(null, Name);
if (agentConnector == null || accountService == null)
{
return resp;
}
account = accountService.GetUserAccount(null, Name);
if (account != null)
{
if (loginService.VerifyClient(account.PrincipalID, Name, "UserAccount", Password))
{
account = accountService.GetUserAccount(null, Name);
if (asAdmin)
{
IAgentInfo agent = agentConnector.GetAgent(account.PrincipalID);
if (agent.OtherAgentInformation["WebUIEnabled"].AsBoolean() == false)
{
return resp;
}
}
resp["UUID"] = OSD.FromUUID(account.PrincipalID);
resp["FirstName"] = OSD.FromString(account.FirstName);
resp["LastName"] = OSD.FromString(account.LastName);
resp["Email"] = OSD.FromString(account.Email);
resp["Verified"] = OSD.FromBoolean(true);
MainConsole.Instance.Trace("Login for " + Name + " was successful");
}
else
{
MainConsole.Instance.Trace("Login for " + Name + " was not successful");
}
}
return resp;
}