public final class UserDB
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
UserDB.AccessRight |
class |
UserDB.Entry |
class |
UserDB.userIterator |
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.String,java.lang.Object> |
cookieUsers |
private java.util.Map<java.lang.String,java.lang.String> |
ipUsers |
private static int |
USERNAME_MIN_LENGTH |
private MapHeap |
userTable |
private java.io.File |
userTableFile |
Constructor and Description |
---|
UserDB(java.io.File userTableFile) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
addEntry(UserDB.Entry entry) |
void |
adminLogout(java.lang.String logintoken) |
void |
close() |
boolean |
cookieAdminAuth(java.lang.String cookieString) |
UserDB.Entry |
cookieAuth(java.lang.String cookieString) |
UserDB.Entry |
createEntry(java.lang.String userName,
java.util.Map<java.lang.String,java.lang.String> userProps) |
java.lang.String |
getAdminCookie() |
java.lang.String |
getCookie(UserDB.Entry entry) |
UserDB.Entry |
getEntry(java.lang.String userName) |
static java.lang.String |
getLoginToken(java.lang.String cookies) |
UserDB.Entry |
getUser(RequestHeader header) |
UserDB.Entry |
getUser(java.lang.String auth,
java.lang.String cookies) |
boolean |
hasAdminRight(java.lang.String auth,
java.lang.String cookies)
Determine if a user has admin rights from a authorisation http-headerfield.
|
UserDB.Entry |
ipAuth(java.lang.String ip)
Authenticate a user by ip, if he has used proxyAuth in the last 10 minutes.
|
java.util.Iterator<UserDB.Entry> |
iterator(boolean up) |
UserDB.Entry |
md5Auth(java.lang.String user,
java.lang.String md5) |
UserDB.Entry |
passwordAuth(java.lang.String user,
java.lang.String password) |
UserDB.Entry |
passwordAuth(java.lang.String user,
java.lang.String password,
java.lang.String ip) |
UserDB.Entry |
proxyAuth(java.lang.String auth)
Use a ProxyAuth Value to authenticate user.
|
UserDB.Entry |
proxyAuth(java.lang.String auth,
java.lang.String ip)
Use ProxyAuth String to authenticate user and save IP/username for ipAuth.
|
void |
removeEntry(java.lang.String hostName) |
(package private) void |
resetDatabase() |
int |
size() |
private static final int USERNAME_MIN_LENGTH
private MapHeap userTable
private final java.io.File userTableFile
private final java.util.Map<java.lang.String,java.lang.String> ipUsers
private final java.util.Map<java.lang.String,java.lang.Object> cookieUsers
public UserDB(java.io.File userTableFile) throws java.io.IOException
java.io.IOException
void resetDatabase()
public void close()
public int size()
public void removeEntry(java.lang.String hostName)
public UserDB.Entry getEntry(java.lang.String userName)
public UserDB.Entry createEntry(java.lang.String userName, java.util.Map<java.lang.String,java.lang.String> userProps) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public java.lang.String addEntry(UserDB.Entry entry)
public UserDB.Entry proxyAuth(java.lang.String auth)
auth
- base64 Encoded String, which contains "username:pw".public UserDB.Entry getUser(RequestHeader header)
public UserDB.Entry getUser(java.lang.String auth, java.lang.String cookies)
public boolean hasAdminRight(java.lang.String auth, java.lang.String cookies)
auth
- http-headerline for authorisation.cookies
- public UserDB.Entry proxyAuth(java.lang.String auth, java.lang.String ip)
auth
- base64 Encoded String, which contains "username:pw".ip
- IP address.public UserDB.Entry ipAuth(java.lang.String ip)
ip
- IP address of user.public UserDB.Entry passwordAuth(java.lang.String user, java.lang.String password)
public UserDB.Entry passwordAuth(java.lang.String user, java.lang.String password, java.lang.String ip)
public UserDB.Entry md5Auth(java.lang.String user, java.lang.String md5)
public UserDB.Entry cookieAuth(java.lang.String cookieString)
public boolean cookieAdminAuth(java.lang.String cookieString)
public java.lang.String getCookie(UserDB.Entry entry)
public java.lang.String getAdminCookie()
public static java.lang.String getLoginToken(java.lang.String cookies)
public void adminLogout(java.lang.String logintoken)
public java.util.Iterator<UserDB.Entry> iterator(boolean up)