Target атрибут: Атрибут target | htmlbook.ru

Содержание

AttributeTargets Перечисление (System) | Microsoft Learn

Twitter LinkedIn Facebook Адрес электронной почты

  • Ссылка

Определение

Пространство имен:
System
2 netstandard-1.3 netstandard-1.4 netstandard-1.5 netstandard-1.6 «>
Сборка:
System.Runtime.dll
Сборка:
mscorlib.dll
Сборка:
netstandard.dll

Важно!

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Задает элементы приложения, в которых допустимо применять аргумент.

Это перечисление поддерживает побитовую комбинацию значений его членов.

public enum class AttributeTargets
[System.Flags]
public enum AttributeTargets
[System.Flags]
[System.Serializable]
public enum AttributeTargets
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum AttributeTargets
[<System.Flags>]
type AttributeTargets = 
[<System.Flags>]
[<System.Serializable>]
type AttributeTargets = 
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type AttributeTargets = 
Public Enum AttributeTargets
Наследование

Object

ValueType

Enum

AttributeTargets

Атрибуты

FlagsAttribute SerializableAttribute ComVisibleAttribute

Поля

0 netframework-3.5 netframework-4.0 netframework-4.5 netframework-4.5.1 netframework-4.5.2 netframework-4.6 netframework-4.6.1 netframework-4.6.2 netframework-4.7 netframework-4.7.1 netframework-4.7.2 netframework-4.8 netstandard-1.0 netstandard-1.1 netstandard-1.2 netstandard-1.3 netstandard-1.4 netstandard-1.5 netstandard-1.6 netstandard-2.0 netstandard-2.1 xamarinandroid-7.1 xamarinios-10.8 xamarinmac-3.0 «>
All32767

Атрибут может быть применен к любому элементу приложения.

Assembly1

Атрибут может быть применен к сборке.

Class4

Атрибут может быть применен к классу.

Constructor32

Атрибут может быть применен к конструктору.

Delegate4096

Атрибут может быть применен к делегату.

Enum16

Атрибут может быть применен к перечислению.

Event
512

Атрибут может быть применен к событию.

Field256

Атрибут может быть применен к полю.

GenericParameter16384

Атрибут может быть применен к универсальному параметру. Сейчас этот атрибут может применяться только в C#, промежуточном языке Майкрософт (MSIL) и созданном коде.

Interface1024

Атрибут может быть применен к интерфейсу.

Method64

Атрибут может быть применен к методу.

Module2

Атрибут может быть применен к модулю. Module ссылается на переносимый исполняемый файл (DLL или EXE), а не на стандартный модуль Visual Basic.

Parameter2048

Атрибут может быть применен к параметру.

Property128

Атрибут может быть применен к свойству.

ReturnValue8192

Атрибут может быть применен к возвращаемому значению.

Struct8

Атрибут может быть применен к структуре, т.е. может являться типом значения.

Примеры

В следующем примере показано применение атрибутов к различным целевым объектам.

Примечание

в настоящее время синтаксис Visual Basic и Visual C++ не поддерживают применение атрибутов к параметрам типа.

using namespace System;
namespace AttTargsCS
{
   // This attribute is only valid on a class.
   [AttributeUsage(AttributeTargets::Class)]
   public ref class ClassTargetAttribute: public Attribute{};
   // This attribute is only valid on a method. 
   [AttributeUsage(AttributeTargets::Method)]
   public ref class MethodTargetAttribute: public Attribute{};
   // This attribute is only valid on a constructor.
   [AttributeUsage(AttributeTargets::Constructor)]
   public ref class ConstructorTargetAttribute: public Attribute{};
   // This attribute is only valid on a field.
   [AttributeUsage(AttributeTargets::Field)]
   public ref class FieldTargetAttribute: public Attribute{};
   // This attribute is valid on a class or a method.
   [AttributeUsage(AttributeTargets::Class|AttributeTargets::Method)]
   public ref class ClassMethodTargetAttribute: public Attribute{};
   // This attribute is valid on any target.
   [AttributeUsage(AttributeTargets::All)]
   public ref class AllTargetsAttribute: public Attribute{};
   [ClassTarget]
   [ClassMethodTarget]
   [AllTargets]
   public ref class TestClassAttribute
   {
   private:
      [ConstructorTarget]
      [AllTargets]
      TestClassAttribute(){}
   public:
      [MethodTarget]
      [ClassMethodTarget]
      [AllTargets]
      void Method1(){}
      [FieldTarget]
      [AllTargets]
      int myInt;
      static void Main(){}
   };
}
using System;
namespace AttTargsCS {
    // This attribute is only valid on a class. 
    [AttributeUsage(AttributeTargets.Class)]
    public class ClassTargetAttribute : Attribute {
    }
    // This attribute is only valid on a method.
    [AttributeUsage(AttributeTargets.Method)]
    public class MethodTargetAttribute : Attribute {
    }
    // This attribute is only valid on a constructor.
    [AttributeUsage(AttributeTargets.Constructor)]
    public class ConstructorTargetAttribute : Attribute {
    }
    // This attribute is only valid on a field.
    [AttributeUsage(AttributeTargets.Field)]
    public class FieldTargetAttribute : Attribute {
    }
    // This attribute is valid on a class or a method.
    [AttributeUsage(AttributeTargets.Class|AttributeTargets.Method)]
    public class ClassMethodTargetAttribute : Attribute {
    }
    // This attribute is valid on a generic type parameter.
    [AttributeUsage(AttributeTargets.GenericParameter)]
    public class GenericParameterTargetAttribute : Attribute {
    }
    // This attribute is valid on any target.
    [AttributeUsage(AttributeTargets.
All)] public class AllTargetsAttribute : Attribute { } [ClassTarget] [ClassMethodTarget] [AllTargets] public class TestClassAttribute { [ConstructorTarget] [AllTargets] TestClassAttribute() { } [MethodTarget] [ClassMethodTarget] [AllTargets] public void Method1() { } [FieldTarget] [AllTargets] public int myInt; public void GenericMethod< [GenericParameterTarget, AllTargets] T>(T x) { } static void Main(string[] args) { } } }
open System
// This attribute is only valid on a class.
[<AttributeUsage(AttributeTargets.Class)>]
type ClassTargetAttribute() =
    inherit Attribute()
// This attribute is only valid on a method.
[<AttributeUsage(AttributeTargets.Method)>]
type MethodTargetAttribute() =
    inherit Attribute()
// This attribute is only valid on a constructor.
[<AttributeUsage(AttributeTargets. Constructor)>]
type ConstructorTargetAttribute() =
    inherit Attribute()
// This attribute is only valid on a field.
[<AttributeUsage(AttributeTargets.Field)>]
type FieldTargetAttribute() =
    inherit Attribute()
// This attribute is valid on a class or a method.
[<AttributeUsage(AttributeTargets.Class ||| AttributeTargets.Method)>]
type ClassMethodTargetAttribute() =
    inherit Attribute()
// This attribute is valid on a generic type parameter.
[<AttributeUsage(AttributeTargets.GenericParameter)>]
type GenericParameterTargetAttribute() =
    inherit Attribute()
// This attribute is valid on any target.
[<AttributeUsage(AttributeTargets.All)>]
type AllTargetsAttribute() =
    inherit Attribute()
[<ClassTarget>]
[<ClassMethodTarget>]
[<AllTargets>]
type TestClassAttribute [<ConstructorTarget>] [<AllTargets>] () =
    [<FieldTarget>]
    [<AllTargets>]
    let myInt = 0
    [<MethodTarget>]
    [<ClassMethodTarget>]
    [<AllTargets>]
    member _.
Method1() = () member _.GenericMethod<[<GenericParameterTarget; AllTargets>] 'T>(x: 'T) = ()
Module DemoModule
    ' This attribute is only valid on a class.
    <AttributeUsage(AttributeTargets.Class)> _
    Public Class ClassTargetAttribute
        Inherits Attribute
    End Class
    ' This attribute is only valid on a method.
    <AttributeUsage(AttributeTargets.Method)> _
    Public Class MethodTargetAttribute
        Inherits Attribute
    End Class
    ' This attribute is only valid on a constructor.
    <AttributeUsage(AttributeTargets.Constructor)> _
    Public Class ConstructorTargetAttribute 
        Inherits Attribute
    End Class
    ' This attribute is only valid on a field.
    <AttributeUsage(AttributeTargets.Field)> _
    Public Class FieldTargetAttribute 
        Inherits Attribute
    End Class
    ' This attribute is valid on a class or a method.
    <AttributeUsage(AttributeTargets.Class Or AttributeTargets.Method)> _
    Public Class ClassMethodTargetAttribute 
        Inherits Attribute
    End Class
    ' This attribute is valid on any target. 
    <AttributeUsage(AttributeTargets.All)> _
    Public Class AllTargetsAttribute 
        Inherits Attribute
    End Class
    <ClassTarget, _
    ClassMethodTarget, _
    AllTargets> _
    Public Class TestClassAttribute
        <ConstructorTarget, _
        AllTargets> _
        Public Sub New
        End Sub
        <MethodTarget, _
        ClassMethodTarget, _
        AllTargets> _
        Public Sub Method1()
        End Sub
        <FieldTarget, _
        AllTargets> _
        Public myInt as Integer
    End Class
    Sub Main()
    End Sub
End Module

Класс AttributeUsageAttribute использует это перечисление, чтобы указать тип элемента, к которому он действителен для применения атрибута.

AttributeTargets Значения перечисления можно объединить с побитовой операцией OR, чтобы получить предпочтительное сочетание.

Применяется к

См. также раздел

  • AttributeUsageAttribute

Откуда у target=”_blank” нижнее подчеркивание | by Liudmila Mzhachikh

Задавались когда-нибудь вопросом, почему все атрибуты как атрибуты, а у атрибута ссылки target значение с нижним подчеркиванием? 🤔

<a href="#" target="_blank">Я откроюсь в новом окне<a/>

Согласно спеке, у атрибута target есть 5 возможных значений (да, не только _blank):

🔗_blank — загружает страницу в новое окно браузера

🔗_self — загружает страницу в текущее окно

🔗_parent — загружает страницу во фрейм-родитель

🔗_top — отменяет все фреймы и загружает страницу в полном окне браузера

🔗{framename} — открывает документ во фрейме по имени {framename}

Наверняка, вы никогда и не использовали ничего, кроме _blank, и это не удивительно.

Зачем же тогда все остальные?

Этот вопрос уходит корнями в историю. В незапамятные времена, когда ajax-а не было и в помине, страницы часто делили на множество окошек с помощью тега <frameset>. Например, одно окошко служило навигацией, а другое — контентом. Получалось некое подобие обновления без перезагрузки страницы.

Сайт, разделенный на фреймы

И нужно было как-то указывать браузеру, в каком фрейме показывать ответ. За это и отвечал атрибут target.

А что происходит, когда мы пишем blank без нижнего подчеркивания? Почему ссылка все равно открывается в новом окне?

А происходит вот что. Браузер видит blank и думает, что это имя фрейма. Он пытается открыть документ во фрейме с name=blank, и, не находя такого, открывает его в новом окне и дает ему такое имя.

Поэтому если вы кликнете по такой ссылке второй раз, то новое окно не откроется. В отличие от _blank, который при каждом нажатии откроет новое окно.

Можно ли писать blank без нижнего подчеркивания? В целом, да, но это не по стандарту (соотвественно, поведение будет как для фрейма).

Будут ли обновлять стандарт, раз frameset-ы давно канули в лету?

Скорее всего нет, т.к. до сих пор существуют сайты с фреймами. Обновление стандарта без обратной совместимости поломает эти сайты.

Ссылки:

HTML — Historical or technical reason for target=»_blank» with underscore?

If you were to use target=»blank» your link will open in a new tab/window. However, there is a subtle difference…

superuser.com

Frames in HTML documents

HTML frames allow authors to present documents in multiple views, which may be independent windows or subwindows…

www.w3.org

HTML target Attribute

The target attribute specifies where to open the linked document: Try it Yourself » The target attribute specifies…

www.w3schools.com

Подписывайтесь на блоги:

Телеграм: frontend_thoughts

Instagram: lucy_frontend

Учебник

.

Настройка сопоставления атрибутов Azure Active Directory в подготовке приложений — Microsoft Entra
  • Статья
  • 16 минут на чтение

Microsoft Azure AD обеспечивает поддержку предоставления доступа пользователям к сторонним приложениям SaaS, таким как Salesforce, G Suite и другим. Если вы включите подготовку пользователей для стороннего приложения SaaS, портал Azure будет управлять значениями его атрибутов посредством сопоставления атрибутов.

Прежде чем приступить к работе, убедитесь, что вы знакомы с концепциями управления приложениями и единого входа (SSO) . Ознакомьтесь со следующими ссылками:

  • Серия кратких руководств по управлению приложениями в Azure AD
  • Что такое единый вход (SSO)?

Существует предварительно настроенный набор атрибутов и сопоставлений атрибутов между пользовательскими объектами Azure AD и пользовательскими объектами каждого приложения SaaS. Некоторые приложения управляют другими типами объектов вместе с пользователями, например группами.

Вы можете настроить сопоставления атрибутов по умолчанию в соответствии с потребностями вашего бизнеса. Таким образом, вы можете изменить или удалить существующие сопоставления атрибутов или создать новые сопоставления атрибутов.

Редактирование сопоставлений атрибутов пользователей

Выполните следующие действия, чтобы получить доступ к функции подготовки пользователей Сопоставления :

  1. Войдите на портал Azure.

  2. Перейдите к Azure Active Directory > Корпоративные приложения .

  3. Отображается список всех настроенных приложений, включая приложения, добавленные из галереи.

  4. Выберите любое приложение, чтобы загрузить его панель управления приложениями, где вы можете просматривать отчеты и управлять настройками приложения.

  5. Выберите Provisioning , чтобы управлять настройками подготовки учетной записи пользователя для выбранного приложения.

  6. Разверните Сопоставления , чтобы просмотреть и изменить атрибуты пользователя, которые передаются между Azure AD и целевым приложением. Если целевое приложение поддерживает это, в этом разделе можно дополнительно настроить подготовку групп и учетных записей пользователей.

  7. Выберите конфигурацию Mappings , чтобы открыть соответствующий экран Attribute Mapping . Приложения SaaS требуют определенных сопоставлений атрибутов для правильной работы. Для обязательных атрибутов функция Удалить недоступна.

    На этом снимке экрана видно, что атрибут Имя пользователя управляемого объекта в Salesforce заполнен значением userPrincipalName связанного объекта Azure Active Directory.

    Примечание

    Очистка Создать не влияет на существующих пользователей. Если Создать не выбрано, вы не сможете создавать новых пользователей.

  8. Выберите существующее Отображение атрибута , чтобы открыть экран Редактировать атрибут . Здесь вы можете изменить атрибуты пользователя, которые передаются между Azure AD и целевым приложением.

Общие сведения о типах сопоставления атрибутов

С помощью сопоставлений атрибутов вы управляете заполнением атрибутов в стороннем приложении SaaS. Поддерживается четыре различных типа сопоставления:

  • Direct — целевой атрибут заполняется значением атрибута связанного объекта в Azure AD.
  • Константа — целевой атрибут заполняется указанной вами строкой.
  • Выражение — целевой атрибут заполняется на основе результата выражения, подобного сценарию. Дополнительные сведения о выражениях см. в статье Написание выражений для сопоставлений атрибутов в Azure Active Directory.
  • Нет — целевой атрибут не изменяется. Однако, если целевой атрибут всегда пуст, он заполняется указанным значением по умолчанию.

Наряду с этими четырьмя основными типами настраиваемые сопоставления атрибутов поддерживают концепцию дополнительного присвоения значения по умолчанию . Назначение значения по умолчанию гарантирует, что целевой атрибут будет заполнен значением, если в Azure AD или целевом объекте нет значения. Наиболее распространенная конфигурация — оставить это поле пустым.

Общие сведения о свойствах сопоставления атрибутов

В предыдущем разделе вы познакомились со свойством типа сопоставления атрибутов. Наряду с этим свойством сопоставления атрибутов также поддерживают следующие атрибуты:

  • Исходный атрибут — атрибут пользователя из исходной системы (пример: Azure Active Directory).
  • Целевой атрибут — Атрибут пользователя в целевой системе (пример: ServiceNow).
  • Значение по умолчанию, если ноль (необязательно) — значение, которое передается в целевую систему, если исходный атрибут имеет значение null. Это значение предоставляется только при создании пользователя. «Значение по умолчанию при нулевом значении» не предоставляется при обновлении существующего пользователя. Например, добавьте значение по умолчанию для должности при создании пользователя с выражением: Switch(IsPresent([jobTitle]), "DefaultValue", "True", [jobTitle]) . Дополнительные сведения о выражениях см. в разделе Справочник по написанию выражений для сопоставлений атрибутов в Azure Active Directory.
  • Сопоставление объектов с использованием этого атрибута — следует ли использовать это сопоставление для уникальной идентификации пользователей между исходной и целевой системами. Обычно он задается в атрибуте userPrincipalName или mail в Azure AD, который обычно сопоставляется с полем имени пользователя в целевом приложении.
  • Приоритет сопоставления — Можно установить несколько атрибутов сопоставления. Если их несколько, они оцениваются в порядке, указанном в этом поле. Как только совпадение найдено, никакие другие совпадающие атрибуты не оцениваются. Хотя вы можете установить столько совпадающих атрибутов, сколько хотите, подумайте, действительно ли атрибуты, которые вы используете в качестве совпадающих атрибутов, уникальны и должны совпадать с атрибутами. Обычно клиенты имеют один или два совпадающих атрибута в своей конфигурации.
  • Применить это сопоставление
    • Всегда — примените это сопоставление как к действиям по созданию пользователя, так и к действиям по обновлению.
    • Только при создании — Применять это сопоставление только к действиям по созданию пользователя.

Сопоставление пользователей в исходной и целевой системах

Службу подготовки Azure AD можно развернуть как в сценариях «зеленого поля» (где пользователи не существуют в целевой системе), так и в сценариях «заброшенного поля» (где пользователи уже существуют в целевая система). Для поддержки обоих сценариев служба подготовки использует концепцию сопоставления атрибутов. Атрибуты сопоставления позволяют определить, как однозначно идентифицировать пользователя в источнике и сопоставить пользователя в целевом объекте. В рамках планирования развертывания определите атрибут, который можно использовать для уникальной идентификации пользователя в исходной и целевой системах. На что обратить внимание:

  • Совпадающие атрибуты должны быть уникальными: Клиенты часто используют в качестве совпадающих атрибутов такие атрибуты, как userPrincipalName, mail или идентификатор объекта.
  • Несколько атрибутов могут использоваться в качестве совпадающих атрибутов: Вы можете определить несколько атрибутов, которые будут оцениваться при сопоставлении пользователей, и порядок, в котором они оцениваются (определяется как приоритет сопоставления в пользовательском интерфейсе). Если, например, вы определяете три атрибута как совпадающие атрибуты, и пользователь получает уникальное совпадение после оценки первых двух атрибутов, служба не будет оценивать третий атрибут. Служба оценивает совпадающие атрибуты в указанном порядке и прекращает оценку при обнаружении совпадения.
  • Значение в исходном и целевом значениях не обязательно должно точно совпадать: Значение в целевом может быть функцией значения в исходном. Таким образом, можно иметь атрибут emailAddress в источнике и userPrincipalName в целевом объекте и сопоставить их с помощью функции атрибута emailAddress, которая заменяет некоторые символы некоторым постоянным значением.
  • Сопоставление на основе комбинации атрибутов не поддерживается: Большинство приложений не поддерживают запросы на основе двух свойств. Поэтому невозможно сопоставить на основе комбинации атрибутов. Можно оценивать одиночные свойства по другому.
  • Все пользователи должны иметь значение хотя бы для одного совпадающего атрибута: Если вы определяете один совпадающий атрибут, все пользователи должны иметь значение для этого атрибута в исходной системе. Если, например, вы определяете userPrincipalName в качестве соответствующего атрибута, все пользователи должны иметь userPrincipalName. Если вы определяете несколько совпадающих атрибутов (например, как extensionAttribute1, так и mail), не все пользователи должны иметь один и тот же совпадающий атрибут. У одного пользователя может быть атрибут extensionAttribute1, но не почта, в то время как у другого пользователя может быть почта, но не атрибут extensionAttribute1.
  • Целевое приложение должно поддерживать фильтрацию соответствующего атрибута: Разработчики приложений разрешают фильтрацию подмножества атрибутов в пользовательском или групповом API. Для приложений в галерее мы гарантируем, что сопоставление атрибутов по умолчанию относится к атрибуту, по которому API целевого приложения поддерживает фильтрацию. При изменении атрибута сопоставления по умолчанию для целевого приложения проверьте документацию стороннего API, чтобы убедиться, что этот атрибут можно фильтровать.

Редактирование сопоставлений атрибутов группы

Некоторое количество приложений, таких как ServiceNow, Box и G Suite, поддерживают возможность подготовки объектов группы и объектов пользователя. Объекты группы могут содержать свойства группы, такие как отображаемые имена и псевдонимы электронной почты, а также членов группы.

Групповую инициализацию можно дополнительно включить или отключить, выбрав сопоставление группы в разделе Сопоставления и установив Включено на нужный параметр в 9Экран 0017 Отображение атрибутов .

Атрибуты, предоставляемые как часть объектов «Группа», можно настраивать так же, как объекты «Пользователь», описанные ранее.

Совет

Предоставление групповых объектов (свойств и элементов) — это концепция, отличная от назначения групп приложению. Приложению можно назначить группу, но предоставить только пользовательские объекты, содержащиеся в группе. Предоставление полных групповых объектов не требуется для использования групп в назначениях.

Редактирование списка поддерживаемых атрибутов

Атрибуты пользователя, поддерживаемые для данного приложения, предварительно настроены. API-интерфейсы управления пользователями большинства приложений не поддерживают обнаружение схемы. Таким образом, служба подготовки Azure AD не может динамически создавать список поддерживаемых атрибутов, выполняя вызовы приложения.

Однако некоторые приложения поддерживают настраиваемые атрибуты, а служба подготовки Azure AD может считывать и записывать настраиваемые атрибуты. Чтобы ввести их определения на портал Azure, выберите Показать дополнительные параметры Установите флажок в нижней части экрана Сопоставление атрибутов , а затем выберите Изменить список атрибутов для вашего приложения.

Приложения и системы, поддерживающие настройку списка атрибутов, включают:

  • Salesforce
  • ServiceNow
  • Рабочий день в Active Directory / Рабочий день в Azure Active Directory
  • SuccessFactors в Active Directory / SuccessFactors в Azure Active Directory
  • Azure Active Directory (поддерживаются атрибуты API Azure AD Graph по умолчанию и настраиваемые расширения каталогов). Дополнительные сведения о создании расширений см. в статьях Синхронизация атрибутов расширений для подготовки приложений Azure Active Directory и Известные проблемы с подготовкой в ​​Azure Active Directory.
  • Приложения, поддерживающие SCIM 2.0
  • Azure Active Directory поддерживает обратную запись в Workday или SuccessFactors для метаданных XPATH и JSONPath. Azure Active Directory не поддерживает новые атрибуты Workday или SuccessFactors, не включенные в схему по умолчанию.

Примечание

Редактировать список поддерживаемых атрибутов рекомендуется только администраторам, которые настроили схему своих приложений и систем и не понаслышке знают, как были определены их настраиваемые атрибуты, или если исходный атрибут не определяется автоматически. отображается в пользовательском интерфейсе портала Azure. Иногда для этого требуется знакомство с API и инструментами разработчика, предоставляемыми приложением или системой. Возможность редактирования списка поддерживаемых атрибутов по умолчанию заблокирована, но клиенты могут включить эту возможность, перейдя по следующему URL-адресу: https://portal. azure.com/?Microsoft_AAD_Connect_Provisioning_forceSchemaEditorEnabled=true . Затем вы можете перейти к своему приложению, чтобы просмотреть список атрибутов.

Примечание

Если атрибут расширения каталога в Azure AD не отображается автоматически в раскрывающемся списке сопоставления атрибутов, вы можете вручную добавить его в «список атрибутов Azure AD». При ручном добавлении атрибутов расширения каталога Azure AD в приложение подготовки обратите внимание, что имена атрибутов расширения каталога вводятся с учетом регистра. Например: Если у вас есть атрибут расширения каталога с именем extension_53c9e2c0exxxxxxxxxxxxxxxx_acmeCostCenter , убедитесь, что вы вводите его в том же формате, что и в каталоге.

При редактировании списка поддерживаемых атрибутов предоставляются следующие свойства:

  • Имя — системное имя атрибута, определенное в схеме целевого объекта.
  • Тип — тип данных, которые атрибут хранит, как определено в схеме целевого объекта, который может быть одним из следующих типов:
    • Двоичный — Атрибут содержит двоичные данные.
    • Булево значение — Атрибут содержит значение True или False.
    • DateTime — Атрибут содержит строку даты.
    • Целое число — Атрибут содержит целое число.
    • Ссылка — атрибут содержит идентификатор, который ссылается на значение, хранящееся в другой таблице в целевом приложении.
    • Строка — Атрибут содержит текстовую строку.
  • Первичный ключ? — определяется ли атрибут как поле первичного ключа в схеме целевого объекта.
  • Требуется? — требуется ли заполнение атрибута в целевом приложении или системе.
  • Многозначный? — поддерживает ли атрибут несколько значений.
  • Точный случай? — оцениваются ли значения атрибутов с учетом регистра.
  • API Expression — не используйте, если это не указано в документации для конкретного соединителя подготовки (например, Workday).
  • Атрибут ссылочного объекта — если это атрибут ссылочного типа, то это меню позволяет выбрать таблицу и атрибут в целевом приложении, которые содержат значение, связанное с атрибутом. Например, если у вас есть атрибут с именем «Отдел», хранимое значение которого ссылается на объект в отдельной таблице «Отделы», вы должны выбрать «Отделы.Имя». Справочные таблицы и основные поля идентификаторов, поддерживаемые для данного приложения, предварительно настроены и не могут быть изменены с помощью портала Azure. Однако вы можете редактировать их с помощью Microsoft Graph API.
Предоставление настраиваемого атрибута расширения для приложения, совместимого с SCIM

RFC SCIM определяет основную схему пользователя и группы, а также позволяет расширять схему для удовлетворения потребностей вашего приложения. Чтобы добавить настраиваемый атрибут в приложение SCIM:

  1. Войдите на портал Azure, выберите Корпоративные приложения , выберите свое приложение, а затем выберите Подготовка .
  2. В разделе Mappings выберите объект (пользователя или группу), для которого вы хотите добавить настраиваемый атрибут.
  3. В нижней части страницы выберите Показать дополнительные параметры .
  4. Выберите Изменить список атрибутов для AppName .
  5. В нижней части списка атрибутов введите информацию о пользовательском атрибуте в соответствующие поля. Затем выберите Добавить атрибут .

Для приложений SCIM имя атрибута должно соответствовать шаблону, показанному в примере. «CustomExtensionName» и «CustomAttribute» можно настроить в соответствии с требованиями вашего приложения, например: urn:ietf:params:scim:schemas:extension:CustomExtensionName:2.0:User:CustomAttribute

Эти инструкции применимы только к приложениям с поддержкой SCIM. Такие приложения, как ServiceNow и Salesforce, не интегрированы с Azure AD с помощью SCIM, поэтому им не требуется это конкретное пространство имен при добавлении настраиваемого атрибута.

Пользовательские атрибуты не могут быть ссылочными атрибутами, атрибутами с несколькими значениями или атрибутами сложного типа. Пользовательские атрибуты расширений с несколькими значениями и сложными типами в настоящее время поддерживаются только для приложений в коллекции. Заголовок пользовательской схемы расширения в примере опущен, так как он не отправляется в запросах от клиента Azure AD SCIM.

Пример представления пользователя с атрибутом расширения:

 {
     "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
     "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],
     "имя пользователя":"Бьенсен",
     "id": "48af03ac28ad4fb88478",
     "externalId":"Бьенсен",
     "имя":{
       "formatted": "Мисс Барбара Дж. Дженсен III",
       "familyName":"Дженсен",
       "givenName":"Варвара"
     },
     "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
     "номер_сотрудника": "701984",
     "costCenter": "4130",
     "организация": "Юниверсал Студиос",
     "дивизия": "Тематический парк",
     "отдел": "Туроператор",
     "менеджер": {
       "значение": "26118915-6090-4610-87e4-49d8ca9f808d",
       "$ref": ". ./Пользователи/26118915-6090-4610-87e4-49d8ca9f808d",
       "displayName": "Джон Смит"
     }
   },
     "urn:ietf:params:scim:schemas:extension:CustomExtensionName:2.0:User": {
     «Пользовательский атрибут»: «701984»,
   },
   "мета": {
     "resourceType": "Пользователь",
     "созданный": "2010-01-23T04:56:22Z",
     "lastModified": "2011-05-13T04:42:34Z",
     "версия": "W\/\"3694e05e9dff591\"",
     "расположение":
 "https://example.com/v2/Users/2819c223-7f76-453a-919d-413861
    6" } }

Предоставление роли для приложения SCIM

Используйте шаги, описанные в примере, для предоставления ролей пользователю в вашем приложении. Описание относится к пользовательским приложениям SCIM. Для приложений галереи, таких как Salesforce и ServiceNow, используйте предопределенные сопоставления ролей. Маркеры описывают, как преобразовать атрибут AppRoleAssignments в формат, ожидаемый вашим приложением.

  • Для сопоставления appRoleAssignment в Azure AD с ролью в вашем приложении необходимо преобразовать атрибут с помощью выражения. Атрибут appRoleAssignment не должен напрямую сопоставляться с атрибутом роли без использования выражения для анализа сведений о роли.

  • Синглеппролеассигнмент

    • Когда использовать: Используйте выражение SingleAppRoleAssignment, чтобы предоставить пользователю одну роль и указать основную роль.
    • Как настроить: Выполните описанные шаги, чтобы перейти на страницу сопоставления атрибутов и использовать выражение SingleAppRoleAssignment для сопоставления с атрибутом ролей. Можно выбрать один из трех атрибутов роли ( ролей[основной экв. "True"].display , ролей[основной экв. "True"].тип и ролей[основной экв. "True"].значение ). Вы можете включить в сопоставления любой или все атрибуты ролей. Если вы хотите включить более одного, просто добавьте новое сопоставление и включите его в качестве целевого атрибута.

    • На что обратить внимание
      • Убедитесь, что пользователю не назначено несколько ролей. Нет гарантии, какая роль предоставлена.
      • SingleAppRoleAssignments не совместим с установкой области «Синхронизировать всех пользователей и группы».
    • Пример запроса (POST)
     {
        "схемы": [
            "urn:ietf:params:scim:schemas:core:2.0:User"
        ],
        "externalId": "псевдоним",
        "userName": "псевдоним@contoso.OnMicrosoft.com",
        «активный»: правда,
        "displayName": "Имя Фамилия",
        "мета": {
             "resourceType": "Пользователь"
        },
        "роли": [
           {
                 «первичный»: правда,
                 "type": "Роль ВиндовсАзуреАктиведиректори",
                 "значение": "Админ"
           }
        ]
    }
     
    • Пример вывода (PATCH)
     "Операции": [
       {
         "оп": "Добавить",
         "путь": "роли",
         "ценить": [
           {
             "value": "{\"id\":\"06b07648-ecfe-589f-9d2f-6325724a46ee\",\"value\":\"25\",\"displayName\":\"Role1234\"} "
           }
         ]
     

Форматы запросов в PATCH и POST различаются. Чтобы убедиться, что POST и PATCH отправляются в одном и том же формате, вы можете использовать флаг функции, описанный здесь.

  • AppRoleAssignmentsComplex

    • Когда использовать: Используйте выражение AppRoleAssignmentsComplex для предоставления пользователю нескольких ролей.

    • Как настроить: Отредактируйте список поддерживаемых атрибутов, как описано, чтобы включить новый атрибут для ролей:


      Затем используйте выражение AppRoleAssignmentsComplex для сопоставления с пользовательским атрибутом роли, как показано на рисунке:


    • На что обратить внимание

      • Все роли предоставлены как первичные = ложь.
      • POST содержит тип роли. Запрос PATCH не содержит тип. Мы работаем над отправкой типа в запросах POST и PATCH.
      • AppRoleAssignmentsComplex не совместим с установкой области «Синхронизировать всех пользователей и группы».
    • Пример вывода

     {
         "схемы": [
             "urn:ietf:params:scim:schemas:core:2.0:User"
        ],
        "externalId": "псевдоним",
        "userName": "псевдоним@contoso.OnMicrosoft.com",
        «активный»: правда,
        "displayName": "Имя Фамилия",
        "мета": {
             "resourceType": "Пользователь"
        },
        "роли": [
           {
                 "основной": ложь,
                 "type": "Роль ВиндовсАзуреАктиведиректори",
                 "дисплей": "Админ",
                 "значение": "Админ"
           },
           {
                 "основной": ложь,
                 "type": "Роль ВиндовсАзуреАктиведиректори",
                 "отображение": "Пользователь",
               "значение": "Пользователь"
           }
        ]
    }
     

Предоставление многозначного атрибута

Некоторые атрибуты, такие как phoneNumbers и адреса электронной почты, являются атрибутами с несколькими значениями, в которых может потребоваться указать различные типы телефонных номеров или адресов электронной почты. Используйте выражение для многозначных атрибутов. Он позволяет указать тип атрибута и сопоставить его с соответствующим атрибутом пользователя Azure AD для значения.

  • phoneNumbers[тип eq «работа»].значение

  • phoneNumbers[тип eq «мобильный»].значение

  • phoneNumbers[тип eq «факс»].значение

     "номера телефонов": [
         {
           "значение": "555-555-5555",
           "тип": "работа"
        },
        {
           "значение": "555-555-5555",
           "тип": "мобильный"
        },
        {
           "значение": "555-555-5555",
           "тип": "факс"
        }
    ]
     

Восстановление атрибутов и сопоставлений атрибутов по умолчанию

Если вам нужно начать заново и сбросить существующие сопоставления до состояния по умолчанию, вы можете выбрать Восстановить сопоставления по умолчанию Установите флажок и сохраните конфигурацию. При этом все сопоставления и фильтры области устанавливаются так, как если бы приложение было добавлено в ваш клиент Azure AD из коллекции приложений.

При выборе этого параметра выполняется повторная синхронизация всех пользователей во время работы службы подготовки.

Важно

Мы настоятельно рекомендуем, чтобы Статус подготовки был установлен на Выкл. перед вызовом этой опции.

Что следует знать

  • Microsoft Azure AD обеспечивает эффективную реализацию процесса синхронизации. В инициализированной среде во время цикла синхронизации обрабатываются только объекты, требующие обновления.
  • Обновление сопоставлений атрибутов влияет на производительность цикла синхронизации. Обновление конфигурации сопоставления атрибутов требует повторной оценки всех управляемых объектов.
  • Рекомендуется свести количество последовательных изменений сопоставлений атрибутов к минимуму.
  • Добавление атрибута фотографии для подготовки к приложению сегодня не поддерживается, так как вы не можете указать формат для синхронизации фотографии. Вы можете запросить эту функцию на User Voice
  • .
  • Атрибут IsSoftDeleted часто является частью сопоставлений по умолчанию для приложения. IsSoftdeleted может быть истинным в одном из четырех сценариев: 1) Пользователь находится вне области действия из-за того, что он не назначен из приложения. 2) Пользователь находится вне области действия из-за того, что не соответствует фильтру области действия. 3) Пользователь был обратимо удален в Azure AD. 4) Имущество AccountEnabled имеет значение false для пользователя. Не рекомендуется удалять атрибут IsSoftDeleted из сопоставлений атрибутов.
  • Служба подготовки Azure AD не поддерживает подготовку нулевых значений.
  • Их первичный ключ, обычно «ID», не следует включать в качестве целевого атрибута в сопоставления атрибутов.
  • Атрибут роли обычно необходимо сопоставлять с помощью выражения, а не прямого сопоставления. Дополнительные сведения о сопоставлении ролей см. в разделе [Предоставление роли для приложения SCIM](#Предоставление роли для приложения SCIM).
  • Хотя вы можете отключить группы в своих сопоставлениях, отключение пользователей не поддерживается.

Следующие шаги

  • Автоматизация инициализации/деинициализации пользователей для приложений SaaS
  • Написание выражений для сопоставления атрибутов
  • Фильтры области действия для подготовки пользователей
  • Использование SCIM для включения автоматической подготовки пользователей и групп из Azure Active Directory к приложениям
  • Список руководств по интеграции приложений SaaS

Могу ли я отправить по электронной почте… целевой атрибут

Могу ли я отправить по электронной почте… целевой атрибут

Gmail

Настольная веб-почта

2021-12

1

iOS

2021-12

1

Андроид

2021-12

1

Мобильная веб-почта

2021-12

1

Перспектива

Окна

2007

2010

2013

2016

2019

3

Почта Windows

2021-12

3

macOS

16. 57

1

Outlook.com

2021-12

1

iOS

2021-12

3

Андроид

2021-12

3

Яху! Почта

Настольная веб-почта

2021-12

1

iOS

2021-12

1

Андроид

2021-12

1

АОЛ

Настольная веб-почта

2021-12

1

iOS

2021-12

1

Андроид

2021-12

1

Мозилла Тандерберд

macOS

78,14

3

ПротонПочта

Настольная веб-почта

2021-12

1

iOS

2021-12

1

Андроид

2021-12

1

Быстрая почта

Настольная веб-почта

2021-12

1

ПРИВЕТ

Настольная веб-почта

2021-12

1

Апельсин

Настольная веб-почта

2021-12

1

iOS

2021-12

1

Андроид

2021-12

1

LaPoste.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *