Zum Inhalt springen

Skriptbeispiel im Jitterbit App Builder - Validieren eines verschlüsselten Kennwortfelds

Dieses Plugin-Beispiel wurde für ein benutzerdefiniertes Anmeldeformular entwickelt, bei dem ein Anmeldeversuch anhand eines verschlüsselten Kennwortfelds validiert werden muss. Dieses Script bietet Eins-zu-eins-Validierungen für die Kennwortanmeldung.

Standardvalidierungen unterstützen derzeit keine Validierung anhand verschlüsselter Felder, daher wurde zur Erfüllung dieser Anforderung ein Plug-In verwendet.

Script

using System;
using System.Linq;
using System.Text;
using Vinyl.Sdk.Events;
using Vinyl.Sdk.Filtering;

var tableId = Guid.Parse("TableID the Plugin will validate against");
var currentAccountID = Row["ViewAccountID"].Value;
string currentPassword = Row["CurrentPass"].GetValueAsString();
var filterBuilder = Services.GetService<FilterBuilder>();
var filter = filterBuilder.From(tableId).Where("AccountID", ComparisonOperator.Equals, currentAccountID);

var eventService = Services.GetService<IEventService>();
EventTable eventTable = await eventService.InvokeFilterEventAsync(filter);

var user = eventTable.Rows.SingleOrDefault();
if (user == null) {
    Fail();

    return;
}


string password = user["PasswordEncrypted"].Value as string;
if (password == null) {
    var passwordBytes = user["PasswordEncrypted"].GetValueAsByteArray();
    password = Encoding.UTF8.GetString(passwordBytes);
}


if (string.Equals(currentPassword, password)) {
    return;
}

Fail();