All Examples  Security Examples  This Package

Class examples.security.rdbmsrealm.RDBMSUser

java.lang.Object
    |
    +----java.security.Identity
            |
            +----weblogic.security.acl.User
                    |
                    +----examples.security.rdbmsrealm.RDBMSUser

class RDBMSUser
extends weblogic.security.acl.User
This is the in-memory representation of a user from the database. The user has a name and password. The password may be one-way hashed; hashed passwords are stored in the database in the form {HASH}gobbledygook, where HASH is the name of the hashing algorithm, and gobbledygook is the hashed password.

You can store passwords either in hashed or plaintext form, and if you wish, you cvan vary this on a per-user basis (for example, use MD5 for one user, SHA for another, and a plaintext password for another user). However, for security and manageability reasons, we recommend using a single hashing algorithm for all passwords, and not storing any plaintext passwords in the database.

This class has a main method, which you can use to generate hashed passwords from plaintext passwords. The hashed passwords can then be stored in your database.

Author:
Copyright (c) 1998-2000 by BEA Systems, Inc. All Rights Reserved.

Variable Index

 o ALGORITHM
The default password-generation algorithm.
 o md
The digest algorithm used to one-way hash this user's password.
 o passwd
This user's password.
 o realm
The realm that created this user object.

Constructor Index

 o RDBMSUser(String, String, RDBMSRealm)
Create a user with the given name and (maybe hashed) password, from the given realm.

Method Index

 o authenticate(String)
Check a plaintext password against this user's password.
 o getRealm()
Return the realm that created this object.
 o hash(MessageDigest, String)
Hash the given plaintext with the given digest algorithm, and base64-encode the result.
 o main(String[])
Hash passwords according to the given algorithm.

Field Detail

 o ALGORITHM
protected static final java.lang.String ALGORITHM
          The default password-generation algorithm.
 o realm
private transient RDBMSRealm realm
          The realm that created this user object.
 o passwd
private transient java.lang.String passwd
          This user's password. If this is hashed, the md field will contain an instance of an object that performs the hashing algorithm.
 o md
private transient java.security.MessageDigest md
          The digest algorithm used to one-way hash this user's password. If the password is not hashed with a known algorithm, or is in plain form, this will be null.

Constructor Detail

 o RDBMSUser
RDBMSUser(java.lang.String name,
          java.lang.String passwd,
          RDBMSRealm realm)
          Create a user with the given name and (maybe hashed) password, from the given realm.

Method Detail

 o getRealm
public weblogic.security.acl.BasicRealm getRealm()
          Return the realm that created this object.
Overrides:
getRealm in class weblogic.security.acl.User
 o hash
protected static java.lang.String hash(java.security.MessageDigest md,
                             java.lang.String plaintext)
          Hash the given plaintext with the given digest algorithm, and base64-encode the result.
Parameters:
md - message digest algorithm to hash with
plaintext - text to hash
Returns:
base64-encoded hashed text
 o authenticate
boolean authenticate(java.lang.String plaintext)
          Check a plaintext password against this user's password. If the object containing the password is not known, authentication will fail.
Parameters:
plaintext - the plaintext password to check
Returns:
true if matched, false otherwise
 o main
public static void main(java.lang.String args[]) throws java.io.IOException
          Hash passwords according to the given algorithm. Plaintext passwords are read from stdin, and the encrypted passwords are printed to stdout. If no algorithm is specified on the command line, the one specified in ALGORITHM is used.
See Also:
ALGORITHM

All Examples  Security Examples  This Package