Table 7710 ADCS User

App
Base Application
Namespace
Microsoft.Warehouse.ADCS
Versions
17-28

Fields, 2Keys, 1Procedures, 1

Versions171819202122232425262728

Source29

Source in 29

src/Layers/W1/BaseApp/Warehouse/ADCS/ADCSUser.Table.al83 lines, Copyright (c) Microsoft Corporation. MIT

// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace Microsoft.Warehouse.ADCS;

using System;

table 7710 "ADCS User"
{
    Caption = 'ADCS User';
    DataClassification = CustomerContent;

    fields
    {
        field(1; Name; Code[50])
        {
            Caption = 'Name';
            ToolTip = 'Specifies the name of an ADCS user.';
            DataClassification = EndUserIdentifiableInformation;
            NotBlank = true;
        }
        field(2; Password; Text[250])
        {
            Caption = 'Password';
            ToolTip = 'Specifies the password of an ADCS user.';
            NotBlank = true;

            trigger OnValidate()
            begin
                TestField(Password);
                Password := CalculatePassword(CopyStr(Password, 1, 30));
            end;
        }
    }

    keys
    {
        key(Key1; Name)
        {
            Clustered = true;
        }
    }

    fieldgroups
    {
    }

    trigger OnInsert()
    begin
        TestField(Password);
    end;

    trigger OnModify()
    begin
        TestField(Password);
    end;

    trigger OnRename()
    begin
        Error(RenameIsNotAllowed);
    end;

    var
#pragma warning disable AA0074
        RenameIsNotAllowed: Label 'You cannot rename the record.';
#pragma warning restore AA0074

    [Scope('OnPrem')]
    procedure CalculatePassword(Input: Text[30]) HashedValue: Text[250]
    var
        Convert: DotNet Convert;
        CryptoProvider: DotNet SHA512Managed;
        Encoding: DotNet Encoding;
    begin
        CryptoProvider := CryptoProvider.SHA512Managed();
        HashedValue := Convert.ToBase64String(CryptoProvider.ComputeHash(Encoding.Unicode.GetBytes(Input + Name)));
        CryptoProvider.Clear();
        CryptoProvider.Dispose();
    end;
}