DISEÑO DE APLICACIONES
Ejemplo: Uso de una fórmula de traducción de los datos introducidos
Esta fórmula traduce los datos introducidos (fórmula de traducción de los datos introducidos) en el campo de contraseñas. Cuando el usuario introduce una contraseña, IBM® Lotus® Domino(TM) busca al usuario en el Directorio de Domino y obtiene el campo HTTPPassword correspondiente. A continuación, compara los datos de ambos campos. Si coinciden, aparecerá un mensaje diciendo que la contraseña ha sido validada. En caso contrario, aparecerá otro mensaje diciendo que la contraseña es incorrecta.
x:=@DbLookup("";"Servidor/HyD":"names.nsf";"($Users)";@Username;"HTTPPassword");
REM "Esta búsqueda compara el valor especificado arriba con el resultado de aplicar la función numérica @Password a los datos introducidos por el usuario e indica si la contraseña introducida es correcta.";
@if(@isError(x);@Prompt([OK];"Error";"Error");@Password(Password) = x;@Prompt([OK];"Correcta";"Correcta");@Prompt([ok];"Contraseña incorrecta";"Ha introducido una contraseña incorrecta"));
REM "Se elimina el campo de contraseñas.";
@Unavailable
Ejemplo: Uso de un evento QuerySave
Este script determina si el campo de contraseñas contiene una contraseña. En caso afirmativo, obtiene el nombre del autor del documento y coloca la forma abreviada del nombre en el campo PublicEncryptionKeys. Así se codifica el campo de contraseñas mediante la clave pública del autor. No obstante, ello no implica buscar la clave en el Directorio de Domino. Al contrario, se obtiene del archivo ID del usuario.
Dim doc As NotesDocument
Dim db As NotesDatabase
Dim session As New NotesSession
Set db = session.CurrentDatabase
Set uidoc=Source
Set doc=source.Document
If doc.GetItemValue("Password")(0) <> "" Then
Set PkName = New NotesName(doc.GetItemValue("Author")(0))
Call doc.ReplaceItemValue("PublicEncryptionKeys", PkName.Abbreviated )
End If
Ejemplo 2: Uso de un evento QuerySave
Este script determina si uno o varios campos de contraseñas contienen una contraseña. En caso afirmativo, obtiene los valores de los campos Author y OtherEditors (que puede contener un grupo), despliega este último para que contenga nombres e introduce la forma abreviada en el campo PublicEncryptionKeys. Así se codifica el campo de contraseñas mediante la clave pública para las entradas exclusivas de ambos campos. Ello implica buscar la clave de cada uno de los usuarios que figuran en la lista en el Directorio de Domino, a menos que el único valor sea el nombre del usuario actual. Si hay más de un nombre, las claves públicas se obtendrán del Directorio de Domino. Si sólo hay uno, la clave se obtiene del archivo ID del usuario.
Dim s As New NotesSession
Set db = s.CurrentDatabase
Dim uidoc As notesuidocument
Set uidoc=source
Set doc = uidoc.document
If (doc.GetItemValue("Password1")(0) <> "") Or (doc.GetItemValue("Password2")(0) <> "") Then
Call doc.ReplaceItemValue("PublicEncryptionKeys",_ Evaluate(|@Name([Abbreviate];@Unique(Author:OtherEditors))|,doc))
Véase también