AuthManager
- Implemented `addUser(User* allocatedRecord)` - Marked method `addUser(string username)` for removal - Implemented `hasRecord(string username)`
This commit is contained in:
parent
da28dfba3e
commit
ce65417ce2
|
@ -341,6 +341,7 @@ public class AuthManager
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: Remove this
|
||||
private void addUser(string username)
|
||||
{
|
||||
// Lock
|
||||
|
@ -354,6 +355,18 @@ public class AuthManager
|
|||
this.usersLock.unlock();
|
||||
}
|
||||
|
||||
private void addUser(User* allocatedRecord)
|
||||
{
|
||||
// Lock
|
||||
this.usersLock.lock();
|
||||
|
||||
// Add the entry
|
||||
this.users[allocatedRecord.getUsername()] = allocatedRecord;
|
||||
|
||||
// Unlock
|
||||
this.usersLock.unlock();
|
||||
}
|
||||
|
||||
private void removeUser(string username)
|
||||
{
|
||||
// Lock
|
||||
|
@ -366,6 +379,21 @@ public class AuthManager
|
|||
this.usersLock.unlock();
|
||||
}
|
||||
|
||||
private bool hasRecord(string username)
|
||||
{
|
||||
// Lock
|
||||
this.usersLock.lock();
|
||||
|
||||
// On exit
|
||||
scope(exit)
|
||||
{
|
||||
// Unlock
|
||||
this.usersLock.unlock();
|
||||
}
|
||||
|
||||
return (username in this.users) !is null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public bool authenticate(string username, string password)
|
||||
|
@ -380,15 +408,15 @@ public class AuthManager
|
|||
{
|
||||
// TODO: Honestly, the authenticator should provide the User*
|
||||
// TODO: Check for record
|
||||
bool hasRecord = false;
|
||||
bool hasRecord = hasRecord(username);
|
||||
User* userRecord;
|
||||
if(hasRecord)
|
||||
if(hasRecord == false)
|
||||
{
|
||||
this.recordProvider.fetch(username, userRecord);
|
||||
}
|
||||
|
||||
|
||||
addUser(username);
|
||||
addUser(userRecord);
|
||||
logger.info("Authenticated user '"~username~"'");
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue