2019-12-20 11:37:07 +01:00
/ *
2024-03-05 18:37:42 +01:00
* Copyright ( c ) 2024 ETH Zürich , IT Services
2019-12-20 11:37:07 +01:00
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2.0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
* /
using System ;
2023-07-03 15:25:31 +02:00
using System.Collections.Generic ;
2019-12-20 11:37:07 +01:00
namespace SafeExamBrowser.Settings.Security
{
/// <summary>
/// Defines all settings related to security.
/// </summary>
[Serializable]
public class SecuritySettings
{
/// <summary>
/// The hash code of the administrator password for the settings.
/// </summary>
public string AdminPasswordHash { get ; set ; }
/// <summary>
/// Determines whether any log information will be accessible via the user interface.
/// </summary>
public bool AllowApplicationLogAccess { get ; set ; }
2020-05-04 12:37:54 +02:00
/// <summary>
/// Determines whether the user may initiate the termination of SEB. This setting does not affect automated mechanisms like a quit URL.
/// </summary>
public bool AllowTermination { get ; set ; }
2020-02-25 10:41:55 +01:00
/// <summary>
/// Determines whether the user may reconfigure the application.
/// </summary>
public bool AllowReconfiguration { get ; set ; }
2024-07-24 20:31:08 +02:00
/// <summary>
/// Determines whether the user may use the sticky keys feature of the operating system.
/// </summary>
public bool AllowStickyKeys { get ; set ; }
2023-07-21 09:31:59 +02:00
/// <summary>
/// Determines whether the user is allowed to use the system clipboard, a custom clipboard or no clipboard at all.
/// </summary>
public ClipboardPolicy ClipboardPolicy { get ; set ; }
2024-01-11 19:01:56 +01:00
/// <summary>
/// Determines whether the lock screen is disabled in case of a user session change. This setting overrides the activation based on
/// <see cref="Service.ServiceSettings.IgnoreService"/> and <see cref="Service.ServiceSettings.DisableUserLock"/> or <see cref="Service.ServiceSettings.DisableUserSwitch"/>.
/// </summary>
public bool DisableSessionChangeLockScreen { get ; set ; }
2019-12-20 11:37:07 +01:00
/// <summary>
/// The kiosk mode which determines how the computer is locked down.
/// </summary>
public KioskMode KioskMode { get ; set ; }
/// <summary>
/// The hash code of the quit password.
/// </summary>
public string QuitPasswordHash { get ; set ; }
2020-09-10 12:35:58 +02:00
/// <summary>
/// An URL to optionally restrict with which resource SEB may be reconfigured. Allows the usage of a wildcard character (<c>*</c>).
/// </summary>
public string ReconfigurationUrl { get ; set ; }
2024-03-05 16:39:21 +01:00
/// <summary>
/// Determines whether the cursor configuration will be verified during session initialization.
/// </summary>
public bool VerifyCursorConfiguration { get ; set ; }
2024-06-05 19:30:35 +02:00
/// <summary>
/// Determines whether the session integrity will be verified after session initialization.
/// </summary>
public bool VerifySessionIntegrity { get ; set ; }
2023-07-03 15:25:31 +02:00
/// <summary>
/// All restrictions which apply to the SEB version to be used.
/// </summary>
public IList < VersionRestriction > VersionRestrictions { get ; set ; }
2019-12-20 11:37:07 +01:00
/// <summary>
/// Determines whether SEB is allowed to run in a virtual machine.
/// </summary>
public VirtualMachinePolicy VirtualMachinePolicy { get ; set ; }
2023-07-03 15:25:31 +02:00
public SecuritySettings ( )
{
VersionRestrictions = new List < VersionRestriction > ( ) ;
}
2019-12-20 11:37:07 +01:00
}
}