|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.owasp.esapi.RandomAccessReferenceMap
Reference implementation of the AccessReferenceMap interface. This implementation generates random 6 character alphanumeric strings for indirect references. It is possible to use simple integers as indirect references, but the random string approach provides a certain level of protection from CSRF attacks, because an attacker would have difficulty guessing the indirect reference.
AccessReferenceMap| Constructor Summary | |
RandomAccessReferenceMap()
This AccessReferenceMap implementation uses short random strings to create a layer of indirection. |
|
RandomAccessReferenceMap(java.util.Set directReferences)
Instantiates a new access reference map. |
|
| Method Summary | |
java.lang.String |
addDirectReference(java.lang.Object direct)
Adds a direct reference and a new random indirect reference, overwriting any existing values. |
java.lang.Object |
getDirectReference(java.lang.String indirectReference)
Get the original direct object reference from an indirect reference. |
java.lang.String |
getIndirectReference(java.lang.Object directReference)
Get a safe indirect reference to use in place of a potentially sensitive direct object reference. |
java.util.Iterator |
iterator()
Get an iterator through the direct object references. |
java.lang.String |
removeDirectReference(java.lang.Object direct)
Remove a direct reference and the corresponding indirect reference. |
void |
update(java.util.Set directReferences)
This preserves any existing mappings for items that are still in the new list. |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public RandomAccessReferenceMap()
public RandomAccessReferenceMap(java.util.Set directReferences)
directReferences - the direct references| Method Detail |
public java.util.Iterator iterator()
AccessReferenceMap
iterator in interface AccessReferenceMappublic java.lang.String addDirectReference(java.lang.Object direct)
addDirectReference in interface AccessReferenceMapdirect -
public java.lang.String removeDirectReference(java.lang.Object direct)
throws AccessControlException
removeDirectReference in interface AccessReferenceMapdirect -
AccessControlException - FIXME Why might we throw an ACE here?public final void update(java.util.Set directReferences)
directReferences - the direct referencespublic java.lang.String getIndirectReference(java.lang.Object directReference)
AccessReferenceMap
getIndirectReference in interface AccessReferenceMapdirectReference - the direct reference
public java.lang.Object getDirectReference(java.lang.String indirectReference)
throws AccessControlException
AccessReferenceMap
getDirectReference in interface AccessReferenceMapindirectReference - the indirect reference
AccessControlException - if no direct reference exists for the
specified indirect reference
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||