| | |
| | | */ |
| | | |
| | | package org.opends.server.authorization.dseecompat; |
| | | /* |
| | | * TODO Evaluate moving this to a non-enumeration class that can add |
| | | * SASL mechanisms dynamically. |
| | | * |
| | | * Given our previous discussion about needing to support any kind of SASL |
| | | * mechanism that may be registered with the server, perhaps an enum isn't |
| | | * the right way to handle this because we don't know ahead of time what |
| | | * auth methods might be available (certainly not at compile time, but |
| | | * potentially not even at runtime since I can add support for a new SASL |
| | | * mechanism on the fly without restarting the server). |
| | | */ |
| | | |
| | | /** |
| | | * This class provides an enumeration of the allowed authmethod types. |
| | | */ |
| | |
| | | * none. |
| | | */ |
| | | AUTHMETHOD_NONE ("none"), |
| | | |
| | | /** |
| | | * The enumeration type when the bind rule has specified authentication of |
| | | * simple. |
| | | * The enumeration type when the bind rule has specified authentication of |
| | | * simple. |
| | | */ |
| | | AUTHMETHOD_SIMPLE ("simple"), |
| | | |
| | | /** |
| | | * The enumeration type when the bind rule has specified authentication of |
| | | * ssl client auth. |
| | | * The enumeration type when the bind rule has specified authentication of |
| | | * ssl client auth. |
| | | */ |
| | | AUTHMETHOD_SSL ("ssl"), |
| | | |
| | | /** |
| | | * The enumeration type when the bind rule has specified authentication of |
| | | * sasl DIGEST-MD5. |
| | | * a sasl mechanism. |
| | | */ |
| | | AUTHMETHOD_SASL_MD5 ("sasl DIGEST-MD5"), |
| | | /** |
| | | * The enumeration type when the bind rule has specified authentication of |
| | | * sasl EXTERNAL. |
| | | */ |
| | | AUTHMETHOD_SASL_EXTERNAL ("sasl EXTERNAL"), |
| | | /** |
| | | * The enumeration type when the bind rule has specified authentication of |
| | | * sasl GSSAPI. |
| | | */ |
| | | AUTHMETHOD_SASL_GSSAPI ("sasl GSSAPI"), |
| | | /** |
| | | * Special internal enumeration for when there is no match. |
| | | */ |
| | | AUTHMETHOD_NOMATCH ("nomatch"); |
| | | AUTHMETHOD_SASL ("sasl"); |
| | | |
| | | /* |
| | | * The name of the authmethod. |
| | |
| | | this.authmethod = authmethod; |
| | | } |
| | | |
| | | /** |
| | | * Checks if a authmethod name is equal to this enumeration. |
| | | * @param myauthmethod The name to test for. |
| | | * @return True if the names match. |
| | | */ |
| | | public boolean isAuthMethod(String myauthmethod){ |
| | | return myauthmethod.equalsIgnoreCase(this.authmethod); |
| | | } |
| | | |
| | | /** |
| | | * Creates an authmethod enumeration from the name passed in. |
| | | * @param myauthmethod The name to create. |
| | | * @return An authmethod enumeration if the name was found or null if not. |
| | | */ |
| | | public static EnumAuthMethod createAuthmethod(String myauthmethod){ |
| | | if (myauthmethod != null){ |
| | | for (EnumAuthMethod t : EnumAuthMethod.values()){ |
| | | if (t.isAuthMethod(myauthmethod)){ |
| | | return t; |
| | | } |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | } |