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();