Regex Отрицательный взгляд в правило утверждений ADFS

Мне нужно предоставить претензию всем, кто не соответствует определенному атрибуту LDAP. Я хочу использовать регулярное выражение с отрицательным взглядом вперед, чтобы выполнить это "не" предложение

c1:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", Value =~ "^(?!Test User).*$"]
 => issue(Type = "http://goofyclaim", Value = "youre not a tester");

вышеприведенное правило, кажется, не удовлетворено моими тестовыми пользователями. Что-то не так с регулярным выражением? или ADFS4.0 не поддерживает его. Я не вижу ошибок в журналах событий ADFS.

это win2016srv в домене AD win2012r2.

для справки, это правило работает:

c1:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", Value =~ "(?i)^Test User1"]  
 => issue(Type = "http://somethignelseentreily", Value = "imispellwhendriving");

2 ответа

(оставив мой другой ответ, чтобы другие могли видеть его не right ответ)

NOT EXISTS([Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", Value =~ "^Test User"])
 => issue(Type = "http://somethignelseentreily", Value = "all");

Сначала мне нужно использовать (можно найти здесь языковые терминалы правил ADFS) для REGEXP_NOT_MATCH

!~

Затем мне пришлось немного реструктурировать модификатор режима regex, так как регистр нечувствителен внутри ^ idenifier

c1:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", Value !~ "^(?i)Test User"]
 => issue(Type = "http://somethignelseentreily", Value = "imispellwhendriving");
Другие вопросы по тегам