- Implementierung von LINQ-Abfragen innerhalb der Core-Bibliothek zur Minderung von SQL-Injection-Anfälligkeiten für DB-Operationen von Umschlägen und Empfängern. - Aktualisierung der Geschäftslogik in der Service-Schicht für verbessertes Transaktionshandling. - Erweiterung der ServiceMessage um eine neue Flag-Funktion zum Verfolgen von Cybersecurity- und Datenintegritätsproblemen. - Hinzufügen spezifischer Benutzerverhaltensflags zur besseren Erkennung und Behandlung potenzieller Datenverletzungen.
42 lines
1.7 KiB
C#
42 lines
1.7 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
using System.Security.Claims;
|
|
|
|
namespace EnvelopeGenerator.Web.Controllers
|
|
{
|
|
public static class ControllerBaseExtensions
|
|
{
|
|
public static (string EnvelopeUuid, string ReceiverSignature)? GetAuthenticatedEnvelopeDetails(this ControllerBase controller)
|
|
{
|
|
if(controller?.User?.Identity?.IsAuthenticated ?? false)
|
|
{
|
|
var envelopeUuid = controller.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
|
|
var receiverSignature = controller.User.FindFirst(ClaimTypes.Hash)?.Value;
|
|
if (!string.IsNullOrEmpty(envelopeUuid) && !string.IsNullOrEmpty(receiverSignature))
|
|
return (EnvelopeUuid: envelopeUuid, ReceiverSignature: receiverSignature);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public static string? GetAuthenticatedEnvelopeUuid(this ControllerBase controller)
|
|
{
|
|
if (controller?.User?.Identity?.IsAuthenticated ?? false)
|
|
{
|
|
var envelopeUuid = controller.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
|
|
if (!string.IsNullOrEmpty(envelopeUuid))
|
|
return envelopeUuid;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public static string? GetAuthenticatedReceiverSignature(this ControllerBase controller)
|
|
{
|
|
if (controller?.User?.Identity?.IsAuthenticated ?? false)
|
|
{
|
|
var receiverSignature = controller.User.FindFirst(ClaimTypes.Hash)?.Value;
|
|
if (!string.IsNullOrEmpty(receiverSignature))
|
|
return receiverSignature;
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
} |