diff --git a/docs/architecture.md b/docs/architecture.md index dad3c0e..af72372 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -68,7 +68,7 @@ still contain the Unicode replacement character are not written to AD. When `RemoteDesktopGroupDn` is configured, the broker also adds each successfully synchronized SGU user to that dedicated AD security group. The laboratory Windows client maps the group into its local **Remote Desktop Users** group. -Every synchronized user also receives `Universidad La Salle` in the AD +Every synchronized user also receives `La Salle` in the AD `company` attribute unless deployment configuration supplies another default. The generic SGU credential is rendered as a dedicated branded tile instead of diff --git a/docs/client-enrollment.md b/docs/client-enrollment.md index 818453b..31cfe86 100644 --- a/docs/client-enrollment.md +++ b/docs/client-enrollment.md @@ -110,7 +110,7 @@ administradores. El proveedor usa un mosaico genérico dedicado, no una credencial asociada al SID anónimo de **Other user**. Windows muestra la imagen institucional y la etiqueta -`Universidad La Salle · Acceso SGU`; el encabezado `Acceso institucional SGU` +`La Salle · Acceso SGU`; el encabezado `Acceso institucional SGU` se publica como `CPFT_LARGE_TEXT` solamente en el mosaico seleccionado. LogonUI elige la familia, el peso y el tamaño final y no expone opciones de tipografía a un Credential Provider. diff --git a/scripts/Deploy-AuthBroker.ps1 b/scripts/Deploy-AuthBroker.ps1 index 86afc55..c37822c 100644 --- a/scripts/Deploy-AuthBroker.ps1 +++ b/scripts/Deploy-AuthBroker.ps1 @@ -28,7 +28,7 @@ param( [string]$UpnSuffix = 'lci.lasalle.mx', [string]$RemoteDesktopGroupDn = '', [ValidateLength(1, 64)] - [string]$DefaultCompany = 'Universidad La Salle', + [string]$DefaultCompany = 'La Salle', [ValidateRange(10, 60)] [int]$NtlmTimeoutSeconds = 20, [ValidateRange(2, 90)] diff --git a/scripts/Install-CredentialProvider.ps1 b/scripts/Install-CredentialProvider.ps1 index c42a0a1..d059bf0 100644 --- a/scripts/Install-CredentialProvider.ps1 +++ b/scripts/Install-CredentialProvider.ps1 @@ -190,7 +190,10 @@ if ($PSCmdlet.ShouldProcess($installPath, 'Install and register the SGU Credenti New-ItemProperty -Path $classRegistryPath -Name ThreadingModel -Value Both -PropertyType String -Force | Out-Null New-Item -Path $providerRegistryPath -Force | Out-Null - Set-Item -Path $providerRegistryPath -Value 'Universidad La Salle · Acceso SGU' + # Windows PowerShell 5.1 interprets an UTF-8 script without a BOM using the + # current ANSI code page. Construct the middle dot from its Unicode value so + # the LogonUI registry label remains correct on every client locale. + Set-Item -Path $providerRegistryPath -Value ('La Salle {0} Acceso SGU' -f [char]0x00B7) if (-not $DoNotSetAsDefaultCredentialProvider) { if (-not (Test-Path -LiteralPath $defaultProviderPolicyPath)) { diff --git a/src/SGU.AuthBroker/Options/BrokerOptions.cs b/src/SGU.AuthBroker/Options/BrokerOptions.cs index 81e2e31..ec43b07 100644 --- a/src/SGU.AuthBroker/Options/BrokerOptions.cs +++ b/src/SGU.AuthBroker/Options/BrokerOptions.cs @@ -159,7 +159,7 @@ public sealed class ActiveDirectoryOptions public string RemoteDesktopGroupDn { get; init; } = string.Empty; - public string DefaultCompany { get; init; } = "Universidad La Salle"; + public string DefaultCompany { get; init; } = "La Salle"; public bool CreateMissingOus { get; init; } diff --git a/src/SGU.AuthBroker/appsettings.json b/src/SGU.AuthBroker/appsettings.json index 1c33ba3..5907d36 100644 --- a/src/SGU.AuthBroker/appsettings.json +++ b/src/SGU.AuthBroker/appsettings.json @@ -50,7 +50,7 @@ "StudentOuDn": "OU=Alumnos,OU=Usuarios-SGU,DC=lci,DC=lasalle,DC=mx", "AdministrativeOuDn": "OU=Administrativos,OU=Usuarios-SGU,DC=lci,DC=lasalle,DC=mx", "RemoteDesktopGroupDn": "", - "DefaultCompany": "Universidad La Salle", + "DefaultCompany": "La Salle", "CreateMissingOus": false } } diff --git a/src/SGU.CredentialProvider/SguCredentialProvider.cs b/src/SGU.CredentialProvider/SguCredentialProvider.cs index 764a089..4da1cdf 100644 --- a/src/SGU.CredentialProvider/SguCredentialProvider.cs +++ b/src/SGU.CredentialProvider/SguCredentialProvider.cs @@ -16,7 +16,7 @@ public sealed class SguCredentialProvider : CredentialProviderBase { yield return new CredentialProviderLabelControl( ControlKeys.ProviderLabel, - "Universidad La Salle · Acceso SGU"); + "La Salle · Acceso SGU"); yield return new CredentialProviderLogoControl( ControlKeys.ProviderLogo, "Acceso institucional SGU", diff --git a/tests/SGU.CredentialProvider.SmokeProbe/Program.cs b/tests/SGU.CredentialProvider.SmokeProbe/Program.cs index 05ce4bd..21242c0 100644 --- a/tests/SGU.CredentialProvider.SmokeProbe/Program.cs +++ b/tests/SGU.CredentialProvider.SmokeProbe/Program.cs @@ -14,7 +14,7 @@ internal static class Program private static readonly string[] ExpectedLabels = [ - "Universidad La Salle · Acceso SGU", + "La Salle · Acceso SGU", "Acceso institucional SGU", "Acceso institucional SGU", "Usa tu clave institucional (DO, AL o AD + 6 dígitos) y contraseña.", diff --git a/tests/SGU.CredentialProvider.Tests/ProviderTileIconTests.cs b/tests/SGU.CredentialProvider.Tests/ProviderTileIconTests.cs index b373df7..aad5126 100644 --- a/tests/SGU.CredentialProvider.Tests/ProviderTileIconTests.cs +++ b/tests/SGU.CredentialProvider.Tests/ProviderTileIconTests.cs @@ -46,9 +46,11 @@ public sealed class ProviderTileIconTests Assert.Empty(controls.OfType()); Assert.Single(controls.OfType()); + CredentialProviderLabelControl providerLabel = Assert.Single(controls.OfType()); LargeLabelControl heading = Assert.Single(controls.OfType()); SguCredentialTile tile = Assert.IsType(provider.CreateGenericTile()); + Assert.Equal("La Salle · Acceso SGU", providerLabel.Label); Assert.Equal("Acceso institucional SGU", heading.Label); Assert.Equal(FieldState.DisplayInSelectedTile, heading.State); Assert.Equal(GenericTileDisplayMode.DisplayAsDedicatedTile, tile.GenericTileDisplayMode);