diff -ruN orig/zabbix/app/controllers/CControllerUsergroupCreate.php saml/zabbix/app/controllers/CControllerUsergroupCreate.php
--- orig/zabbix/app/controllers/CControllerUsergroupCreate.php	2022-03-14 10:57:00.000000000 +0100
+++ saml/zabbix/app/controllers/CControllerUsergroupCreate.php	2022-05-25 09:54:28.000000000 +0200
@@ -25,7 +25,7 @@
 		$fields = [
 			'name'            => 'required|not_empty|db usrgrp.name',
 			'userids'         => 'array_db users.userid',
-			'gui_access'      => 'db usrgrp.gui_access|in '.implode(',', [GROUP_GUI_ACCESS_SYSTEM, GROUP_GUI_ACCESS_INTERNAL, GROUP_GUI_ACCESS_LDAP, GROUP_GUI_ACCESS_DISABLED]),
+			'gui_access'      => 'db usrgrp.gui_access|in '.implode(',', [GROUP_GUI_ACCESS_SYSTEM, GROUP_GUI_ACCESS_INTERNAL, GROUP_GUI_ACCESS_LDAP, GROUP_GUI_ACCESS_SAML, GROUP_GUI_ACCESS_DISABLED]),
 			'users_status'    => 'db usrgrp.users_status|in '.GROUP_STATUS_ENABLED.','.GROUP_STATUS_DISABLED,
 			'debug_mode'      => 'db usrgrp.debug_mode|in '.GROUP_DEBUG_MODE_ENABLED.','.GROUP_DEBUG_MODE_DISABLED,
 
diff -ruN orig/zabbix/app/controllers/CControllerUsergroupEdit.php saml/zabbix/app/controllers/CControllerUsergroupEdit.php
--- orig/zabbix/app/controllers/CControllerUsergroupEdit.php	2022-03-14 10:57:00.000000000 +0100
+++ saml/zabbix/app/controllers/CControllerUsergroupEdit.php	2022-05-25 09:39:24.000000000 +0200
@@ -35,7 +35,7 @@
 			'usrgrpid'        => 'db usrgrp.usrgrpid',
 			'name'            => 'db usrgrp.name',
 			'userids'         => 'array_db users.userid',
-			'gui_access'      => 'db usrgrp.gui_access|in '.implode(',', [GROUP_GUI_ACCESS_SYSTEM, GROUP_GUI_ACCESS_INTERNAL, GROUP_GUI_ACCESS_LDAP, GROUP_GUI_ACCESS_DISABLED]),
+			'gui_access'      => 'db usrgrp.gui_access|in '.implode(',', [GROUP_GUI_ACCESS_SYSTEM, GROUP_GUI_ACCESS_INTERNAL, GROUP_GUI_ACCESS_LDAP, GROUP_GUI_ACCESS_SAML, GROUP_GUI_ACCESS_DISABLED]),
 			'users_status'    => 'db usrgrp.users_status|in '.GROUP_STATUS_ENABLED.','.GROUP_STATUS_DISABLED,
 			'debug_mode'      => 'db usrgrp.debug_mode|in '.GROUP_DEBUG_MODE_ENABLED.','.GROUP_DEBUG_MODE_DISABLED,
 
diff -ruN orig/zabbix/app/controllers/CControllerUsergroupMassUpdate.php saml/zabbix/app/controllers/CControllerUsergroupMassUpdate.php
--- orig/zabbix/app/controllers/CControllerUsergroupMassUpdate.php	2022-03-14 10:57:00.000000000 +0100
+++ saml/zabbix/app/controllers/CControllerUsergroupMassUpdate.php	2022-05-25 09:39:59.000000000 +0200
@@ -24,7 +24,7 @@
 	protected function checkInput() {
 		$fields = [
 			'usrgrpids'    => 'required|array_db usrgrp.usrgrpid',
-			'gui_access'   => 'db usrgrp.gui_access|in '.implode(',', [GROUP_GUI_ACCESS_SYSTEM, GROUP_GUI_ACCESS_INTERNAL, GROUP_GUI_ACCESS_LDAP, GROUP_GUI_ACCESS_DISABLED]),
+			'gui_access'   => 'db usrgrp.gui_access|in '.implode(',', [GROUP_GUI_ACCESS_SYSTEM, GROUP_GUI_ACCESS_INTERNAL, GROUP_GUI_ACCESS_LDAP, GROUP_GUI_ACCESS_SAML, GROUP_GUI_ACCESS_DISABLED]),
 			'users_status' => 'db usrgrp.users_status|in '.GROUP_STATUS_ENABLED.','.GROUP_STATUS_DISABLED,
 			'debug_mode'   => 'db usrgrp.debug_mode|in '.GROUP_DEBUG_MODE_ENABLED.','.GROUP_DEBUG_MODE_DISABLED
 		];
diff -ruN orig/zabbix/app/controllers/CControllerUsergroupUpdate.php saml/zabbix/app/controllers/CControllerUsergroupUpdate.php
--- orig/zabbix/app/controllers/CControllerUsergroupUpdate.php	2022-03-14 10:57:00.000000000 +0100
+++ saml/zabbix/app/controllers/CControllerUsergroupUpdate.php	2022-05-25 09:53:29.000000000 +0200
@@ -26,7 +26,7 @@
 			'usrgrpid'        => 'required|db usrgrp.usrgrpid',
 			'name'            => 'not_empty|db usrgrp.name',
 			'userids'         => 'array_db users.userid',
-			'gui_access'      => 'db usrgrp.gui_access|in '.implode(',', [GROUP_GUI_ACCESS_SYSTEM, GROUP_GUI_ACCESS_INTERNAL, GROUP_GUI_ACCESS_LDAP, GROUP_GUI_ACCESS_DISABLED]),
+			'gui_access'      => 'db usrgrp.gui_access|in '.implode(',', [GROUP_GUI_ACCESS_SYSTEM, GROUP_GUI_ACCESS_INTERNAL, GROUP_GUI_ACCESS_LDAP, GROUP_GUI_ACCESS_SAML, GROUP_GUI_ACCESS_DISABLED]),
 			'users_status'    => 'db usrgrp.users_status|in '.GROUP_STATUS_ENABLED.','.GROUP_STATUS_DISABLED,
 			'debug_mode'      => 'db usrgrp.debug_mode|in '.GROUP_DEBUG_MODE_ENABLED.','.GROUP_DEBUG_MODE_DISABLED,
 
diff -ruN orig/zabbix/app/views/administration.usergroup.edit.php saml/zabbix/app/views/administration.usergroup.edit.php
--- orig/zabbix/app/views/administration.usergroup.edit.php	2022-03-14 10:57:00.000000000 +0100
+++ saml/zabbix/app/views/administration.usergroup.edit.php	2022-05-25 09:40:31.000000000 +0200
@@ -71,6 +71,7 @@
 			GROUP_GUI_ACCESS_SYSTEM => user_auth_type2str(GROUP_GUI_ACCESS_SYSTEM),
 			GROUP_GUI_ACCESS_INTERNAL => user_auth_type2str(GROUP_GUI_ACCESS_INTERNAL),
 			GROUP_GUI_ACCESS_LDAP => user_auth_type2str(GROUP_GUI_ACCESS_LDAP),
+			GROUP_GUI_ACCESS_SAML => user_auth_type2str(GROUP_GUI_ACCESS_SAML),
 			GROUP_GUI_ACCESS_DISABLED => user_auth_type2str(GROUP_GUI_ACCESS_DISABLED)
 		]));
 
diff -ruN orig/zabbix/include/classes/api/services/CUserGroup.php saml/zabbix/include/classes/api/services/CUserGroup.php
--- orig/zabbix/include/classes/api/services/CUserGroup.php	2022-03-14 10:57:00.000000000 +0100
+++ saml/zabbix/include/classes/api/services/CUserGroup.php	2022-05-25 10:00:25.000000000 +0200
@@ -210,7 +210,7 @@
 		$api_input_rules = ['type' => API_OBJECTS, 'flags' => API_NOT_EMPTY | API_NORMALIZE, 'uniq' => [['name']], 'fields' => [
 			'name' =>			['type' => API_STRING_UTF8, 'flags' => API_REQUIRED | API_NOT_EMPTY, 'length' => DB::getFieldLength('usrgrp', 'name')],
 			'debug_mode' =>		['type' => API_INT32, 'in' => implode(',', [GROUP_DEBUG_MODE_DISABLED, GROUP_DEBUG_MODE_ENABLED])],
-			'gui_access' =>		['type' => API_INT32, 'in' => implode(',', [GROUP_GUI_ACCESS_SYSTEM, GROUP_GUI_ACCESS_INTERNAL, GROUP_GUI_ACCESS_LDAP, GROUP_GUI_ACCESS_DISABLED])],
+			'gui_access' =>		['type' => API_INT32, 'in' => implode(',', [GROUP_GUI_ACCESS_SYSTEM, GROUP_GUI_ACCESS_INTERNAL, GROUP_GUI_ACCESS_LDAP, GROUP_GUI_ACCESS_SAML, GROUP_GUI_ACCESS_DISABLED])],
 			'users_status' =>	['type' => API_INT32, 'in' => implode(',', [GROUP_STATUS_ENABLED, GROUP_STATUS_DISABLED])],
 			'rights' =>			['type' => API_OBJECTS, 'flags' => API_NORMALIZE, 'uniq' => [['id']], 'fields' => [
 				'id' =>				['type' => API_ID, 'flags' => API_REQUIRED],
@@ -279,7 +279,7 @@
 			'usrgrpid' =>		['type' => API_ID, 'flags' => API_REQUIRED],
 			'name' =>			['type' => API_STRING_UTF8, 'flags' => API_NOT_EMPTY, 'length' => DB::getFieldLength('usrgrp', 'name')],
 			'debug_mode' =>		['type' => API_INT32, 'in' => implode(',', [GROUP_DEBUG_MODE_DISABLED, GROUP_DEBUG_MODE_ENABLED])],
-			'gui_access' =>		['type' => API_INT32, 'in' => implode(',', [GROUP_GUI_ACCESS_SYSTEM, GROUP_GUI_ACCESS_INTERNAL, GROUP_GUI_ACCESS_LDAP, GROUP_GUI_ACCESS_DISABLED])],
+			'gui_access' =>		['type' => API_INT32, 'in' => implode(',', [GROUP_GUI_ACCESS_SYSTEM, GROUP_GUI_ACCESS_INTERNAL, GROUP_GUI_ACCESS_LDAP, GROUP_GUI_ACCESS_SAML, GROUP_GUI_ACCESS_DISABLED])],
 			'users_status' =>	['type' => API_INT32, 'in' => implode(',', [GROUP_STATUS_ENABLED, GROUP_STATUS_DISABLED])],
 			'rights' =>			['type' => API_OBJECTS, 'flags' => API_NORMALIZE, 'uniq' => [['id']], 'fields' => [
 				'id' =>				['type' => API_ID, 'flags' => API_REQUIRED],
diff -ruN orig/zabbix/include/classes/api/services/CUser.php saml/zabbix/include/classes/api/services/CUser.php
--- orig/zabbix/include/classes/api/services/CUser.php	2022-03-14 10:57:00.000000000 +0100
+++ saml/zabbix/include/classes/api/services/CUser.php	2022-05-25 09:42:02.000000000 +0200
@@ -1498,6 +1498,7 @@
 			GROUP_GUI_ACCESS_SYSTEM => CAuthenticationHelper::get(CAuthenticationHelper::AUTHENTICATION_TYPE),
 			GROUP_GUI_ACCESS_INTERNAL => ZBX_AUTH_INTERNAL,
 			GROUP_GUI_ACCESS_LDAP => ZBX_AUTH_LDAP,
+			GROUP_GUI_ACCESS_SAML => ZBX_AUTH_INTERNAL,
 			GROUP_GUI_ACCESS_DISABLED => CAuthenticationHelper::get(CAuthenticationHelper::AUTHENTICATION_TYPE)
 		];
 
@@ -2004,6 +2005,7 @@
 			GROUP_GUI_ACCESS_SYSTEM => $default_auth,
 			GROUP_GUI_ACCESS_INTERNAL => ZBX_AUTH_INTERNAL,
 			GROUP_GUI_ACCESS_LDAP => ZBX_AUTH_LDAP,
+			GROUP_GUI_ACCESS_SAML => ZBX_AUTH_INTERNAL,
 			GROUP_GUI_ACCESS_DISABLED => $default_auth
 		];
 		$fields = ['userid', 'username', 'name', 'surname', 'passwd', 'url', 'autologin', 'autologout', 'lang',
diff -ruN orig/zabbix/include/classes/user/CWebUser.php saml/zabbix/include/classes/user/CWebUser.php
--- orig/zabbix/include/classes/user/CWebUser.php	2022-03-14 10:57:00.000000000 +0100
+++ saml/zabbix/include/classes/user/CWebUser.php	2022-05-25 10:03:34.000000000 +0200
@@ -57,6 +57,11 @@
 				throw new Exception();
 			}
 
+			if (self::$data['gui_access'] == GROUP_GUI_ACCESS_SAML) {
+                                error(_('Zabbix login disabled only SAML Allowed.'));
+                                throw new Exception();
+                        }
+
 			API::getWrapper()->auth = self::$data['sessionid'];
 
 			if (self::$data['gui_access'] == GROUP_GUI_ACCESS_DISABLED) {
diff -ruN orig/zabbix/include/defines.inc.php saml/zabbix/include/defines.inc.php
--- orig/zabbix/include/defines.inc.php	2022-03-14 11:28:50.000000000 +0100
+++ saml/zabbix/include/defines.inc.php	2022-05-25 09:43:39.000000000 +0200
@@ -924,7 +924,8 @@
 define('GROUP_GUI_ACCESS_SYSTEM',	0);
 define('GROUP_GUI_ACCESS_INTERNAL', 1);
 define('GROUP_GUI_ACCESS_LDAP', 	2);
-define('GROUP_GUI_ACCESS_DISABLED', 3);
+define('GROUP_GUI_ACCESS_SAML',		3);
+define('GROUP_GUI_ACCESS_DISABLED', 4);
 
 /**
  * @see access_deny()
diff -ruN orig/zabbix/include/locales.inc.php saml/zabbix/include/locales.inc.php
--- orig/zabbix/include/locales.inc.php	2022-03-14 10:57:00.000000000 +0100
+++ saml/zabbix/include/locales.inc.php	2022-03-31 17:01:22.000000000 +0200
@@ -40,7 +40,7 @@
 		'fi_FI' => ['name' => _('Finnish (fi_FI)'),	'display' => false],
 		'fr_FR' => ['name' => _('French (fr_FR)'),	'display' => true],
 		'ka_GE' => ['name' => _('Georgian (ka_GE)'),	'display' => false],
-		'de_DE' => ['name' => _('German (de_DE)'),	'display' => false],
+		'de_DE' => ['name' => _('German (de_DE)'),	'display' => true],
 		'el_GR' => ['name' => _('Greek (el_GR)'),	'display' => false],
 		'he_IL' => ['name' => _('Hebrew (he_IL)'),	'display' => true],
 		'hu_HU' => ['name' => _('Hungarian (hu_HU)'),	'display' => false],
diff -ruN orig/zabbix/include/users.inc.php saml/zabbix/include/users.inc.php
--- orig/zabbix/include/users.inc.php	2022-03-14 10:57:00.000000000 +0100
+++ saml/zabbix/include/users.inc.php	2022-05-25 09:44:03.000000000 +0200
@@ -81,6 +81,7 @@
 		GROUP_GUI_ACCESS_SYSTEM => _('System default'),
 		GROUP_GUI_ACCESS_INTERNAL => _x('Internal', 'user type'),
 		GROUP_GUI_ACCESS_LDAP => _('LDAP'),
+		GROUP_GUI_ACCESS_SAML => _('SAML'),
 		GROUP_GUI_ACCESS_DISABLED => _('Disabled')
 	];
 
