public final class ACL
extends java.lang.Object
Top Level User Authentication and Access Control List Functions.
Modifier and Type | Field and Description |
---|---|
static short |
ACCOUNT_CANCELLED |
static short |
ACCOUNT_DEACTIVATED |
static short |
CAPTCHA_MISMATCH |
static short |
CAPTCHA_TIMEOUT |
static short |
DOMAIN_NOT_FOUND |
static short |
INTERNAL_ERROR |
static short |
INVALID_PASSWORD |
static short |
PASSWORD_EXPIRED |
static int |
PERMISSION_ADD |
static int |
PERMISSION_DELETE |
static int |
PERMISSION_FULL_CONTROL |
static int |
PERMISSION_GRANT |
static int |
PERMISSION_LIST |
static int |
PERMISSION_MODERATE |
static int |
PERMISSION_MODIFY |
static int |
PERMISSION_READ |
static int |
PERMISSION_SEND |
static int |
PWD_CLEAR_TEXT |
static int |
PWD_DTIP_RC4 |
static int |
PWD_DTIP_RC4_64 |
static int |
ROLE_ADMIN |
static int |
ROLE_GUEST |
static int |
ROLE_NONE |
static int |
ROLE_POWERUSER |
static int |
ROLE_USER |
static short |
SESSION_EXPIRED |
static short |
USER_NOT_FOUND |
static short |
WORKAREA_ACCESS_DENIED |
static short |
WORKAREA_NOT_FOUND |
static short |
WORKAREA_NOT_SET |
Constructor and Description |
---|
ACL()
Default Constructor
|
Modifier and Type | Method and Description |
---|---|
static short |
autenticate(JDCConnection oConn,
java.lang.String sUserId,
java.lang.String sAuthStr,
int iFlags)
Checks whether or not password is valid for given user.
|
static short |
autenticate(JDCConnection oConn,
java.lang.String sUserId,
java.lang.String sAuthStr,
int iFlags,
long lTimestamp,
long lTimeout,
java.lang.String sPlainCaptcha,
java.lang.String sPlainCaptchaMD5)
Checks password and captcha for a given user
This method calls k_sp_autenticate stored procedure witch looks up tx_pwd field at k_users table and see if it is the same as sAuthStr parameter.
|
static short |
checkCaptcha(long lTimestamp,
long lTimeout,
java.lang.String sPlainCaptcha,
java.lang.String sPlainCaptchaMD5)
Check if a captcha matches its signature and it has not expired
|
static java.lang.String |
decript(java.lang.String sStr,
int iFlags)
Decrypt String
|
static java.lang.String |
encript(java.lang.String sStr,
int iFlags)
Encrypt String
|
static java.lang.String |
getErrorMessage(short iErrCode) |
static java.lang.String |
getLocalizedMaskName(int iACLMask,
java.lang.String sLanguage)
Gets permissions mask descriptive name for given language
|
static java.lang.String |
getRC4key()
Get RC4 default key for encryption
Since version 4.0, the RC4 key may be readed from file acl.cnf
instead of being just hardwired inside ACL Java class as a
private static variable.
|
static java.lang.String |
getUserIdFromNick(JDCConnection oConn,
java.lang.String sNickName,
int iDomain)
Get user unique id given its nickname.
|
static java.lang.String |
RC4EnDeCrypt(java.lang.String sTxt)
Encrypt text using RC4 algorithm and a default encryption key
|
static java.lang.String |
RC4EnDeCrypt(java.lang.String sTxt,
java.lang.String sKey)
Encrypt text using RC4 algorithm
|
static void |
setRC4key(java.lang.String sKey)
Set RC4 default key for encryption
|
public static final int PERMISSION_LIST
public static final int PERMISSION_READ
public static final int PERMISSION_ADD
public static final int PERMISSION_DELETE
public static final int PERMISSION_MODIFY
public static final int PERMISSION_MODERATE
public static final int PERMISSION_SEND
public static final int PERMISSION_GRANT
public static final int PERMISSION_FULL_CONTROL
public static final int ROLE_NONE
public static final int ROLE_ADMIN
public static final int ROLE_POWERUSER
public static final int ROLE_USER
public static final int ROLE_GUEST
public static final int PWD_CLEAR_TEXT
public static final int PWD_DTIP_RC4
public static final int PWD_DTIP_RC4_64
public static final short USER_NOT_FOUND
public static final short INVALID_PASSWORD
public static final short ACCOUNT_DEACTIVATED
public static final short SESSION_EXPIRED
public static final short DOMAIN_NOT_FOUND
public static final short WORKAREA_NOT_FOUND
public static final short WORKAREA_NOT_SET
public static final short ACCOUNT_CANCELLED
public static final short PASSWORD_EXPIRED
public static final short CAPTCHA_MISMATCH
public static final short CAPTCHA_TIMEOUT
public static final short WORKAREA_ACCESS_DENIED
public static final short INTERNAL_ERROR
public static short checkCaptcha(long lTimestamp, long lTimeout, java.lang.String sPlainCaptcha, java.lang.String sPlainCaptchaMD5)
Check if a captcha matches its signature and it has not expired
lTimestamp
- Timestamp (in miliseconds) when sPlainCaptcha was generatedlTimemout
- Number of miliseconds after which sPlainCaptcha expiressPlainCaptcha
- Captcha plain textsPlainCaptchaMD5
- Precomputed MD5 hash for String sPlainCaptcha+ACL.getRC4key()public static short autenticate(JDCConnection oConn, java.lang.String sUserId, java.lang.String sAuthStr, int iFlags) throws java.sql.SQLException, java.lang.UnsupportedOperationException
Checks whether or not password is valid for given user.
This method calls k_sp_autenticate stored procedure witch looks up tx_pwd field at k_users table and see if it is the same as sAuthStr parameter.
oConn
- Opened Database ConnectionsUserId
- User GUIDsAuthStr
- Authentication String (password)iFlags
- Authentication String Flags
java.sql.SQLException
java.lang.UnsupportedOperationException
- If k_sp_autenticate stored procedure is not foundpublic static short autenticate(JDCConnection oConn, java.lang.String sUserId, java.lang.String sAuthStr, int iFlags, long lTimestamp, long lTimeout, java.lang.String sPlainCaptcha, java.lang.String sPlainCaptchaMD5) throws java.sql.SQLException, java.lang.UnsupportedOperationException
Checks password and captcha for a given user
This method calls k_sp_autenticate stored procedure witch looks up tx_pwd field at k_users table and see if it is the same as sAuthStr parameter.
Also it checks that the given captcha text corresponds to its signature and that it has not expired.
oConn
- Opened Database ConnectionsUserId
- User GUIDsAuthStr
- Authentication String (password)iFlags
- Authentication String FlagslTimestamp
- Timestamp (in miliseconds) when sPlainCaptcha was generatedlTimemout
- Number of miliseconds after which sPlainCaptcha expiressPlainCaptcha
- Captcha plain textsPlainCaptchaMD5
- Precomputed MD5 hash for String sPlainCaptcha+ACL.getRC4key()java.sql.SQLException
java.lang.UnsupportedOperationException
- If k_sp_autenticate stored procedure is not foundpublic static java.lang.String decript(java.lang.String sStr, int iFlags) throws java.lang.IllegalArgumentException, java.lang.NullPointerException
Decrypt String
sStr
- Base64 encoded string to be decripttediFlags
- Encryption flags
java.lang.NullPointerException
- if sStr is nulljava.lang.IllegalArgumentException
- if iFlags!=PWD_CLEAR_TEXT AND iFlags!=PWD_DTIP_RC4 AND iFlags!=PWD_DTIP_RC4_64public static java.lang.String encript(java.lang.String sStr, int iFlags) throws java.lang.IllegalArgumentException, java.lang.NullPointerException
Encrypt String
sStr
- String to be encryptediFlags
- Encryption flags
java.lang.NullPointerException
- if sStr is nulljava.lang.IllegalArgumentException
- if iFlags!=PWD_CLEAR_TEXT AND iFlags!=PWD_DTIP_RC4public static java.lang.String getUserIdFromNick(JDCConnection oConn, java.lang.String sNickName, int iDomain) throws java.sql.SQLException
Get user unique id given its nickname.
Calls k_get_user_from_nick stored procedure and gets gu_user field from tx_nickname field
oConn
- Database ConnectionsNickName
- User nickname (tx_nickname from k_users table)iDomain
- Domain Identifier (id_domain from k_users table)java.sql.SQLException
public static java.lang.String getRC4key()
Get RC4 default key for encryption
Since version 4.0, the RC4 key may be readed from file acl.cnf instead of being just hardwired inside ACL Java class as a private static variable.public static void setRC4key(java.lang.String sKey)
sKey
- public static java.lang.String RC4EnDeCrypt(java.lang.String sTxt) throws java.lang.NullPointerException
Encrypt text using RC4 algorithm and a default encryption key
sTxt
- Text to be encryptedjava.lang.NullPointerException
- if sTxt is nullhttp://www.clarenceho.net:8123/blog/articles/2005/11/21/rc4-encryption-in-java-april-2003}
public static java.lang.String RC4EnDeCrypt(java.lang.String sTxt, java.lang.String sKey)
Encrypt text using RC4 algorithm
sTxt
- Text to be encryptedsKey
- Encryption keyhttp://www.clarenceho.net:8123/blog/articles/2005/11/21/rc4-encryption-in-java-april-2003}
public static java.lang.String getLocalizedMaskName(int iACLMask, java.lang.String sLanguage) throws java.lang.IllegalArgumentException
Gets permissions mask descriptive name for given language
iACLMask
- Permissions Mask, any combination of ACL.PERMISSION_ constantssLanguage
- Language for localized string {"en", "es"}java.lang.IllegalArgumentException
public static java.lang.String getErrorMessage(short iErrCode)