Для полноты картины я опубликую здесь решение, предлагаемое пользователем OTStats в комментариях выше:
ggplot(b, aes(as.numeric(stage), Expression)) +
geom_point() +
geom_smooth(data=b[b$stage %in% c("A", "B"),], linetype = "dashed", span = 0.8,se = FALSE) +
geom_smooth(data=b[b$stage %in% c("B", "C", "D"),], linetype = "solid", span = 0.8, se = FALSE) +
geom_smooth(data=b[b$stage %in% c("D", "E"),], linetype = "dashed",span = 0.8, se = FALSE) +
geom_smooth(linetype = "blank",span = 0.4) +
guides(linetype=FALSE) +
scale_x_continuous(breaks = as.numeric(b$stage), labels = b$stage, minor_breaks = NULL)
Обратите внимание, что уровень сглаживания необходимо отрегулировать в четвертом вызове geom_smooth
, чтобы удовлетворительные результаты, но в целом этот трюк решает вопрос.
Какие проблемы возникают при настройке OpenSSO? Я обнаружил, что OpenSSO является самой простой установкой!
Мои заметки о том, как подготовить и запустить базовый IDP, приведены ниже - надеюсь, они помогут вам начать работу.
Майкл
Я обнаружил, что это лучший (т.е. самый безболезненный) способ ...
Я использовал следующие шаги в качестве шагов настройки (я использую OpenSSO build 7):
Приведенные выше инструкции основаны на http://developers.sun.com/identity/reference/techart/opensso-glassfish.html
Теперь у вас есть основы и работают. Создайте подобласть под / названными пользователями, и создайте там одну или две учетных записи.
Теперь подготовьте метаданные SP. Не добавляйте слишком много метаданных для начала - делайте это просто.
На странице графического интерфейса пользователя по умолчанию выберите создание размещенного IDP. Это довольно простой рабочий процесс. Вы должны указать свою область / users и выбрать использование псевдонима тестового ключа для подписи. Создаваемый вами круг доверия можно назвать чем угодно.
Когда вы завершите рабочий процесс, вас спросят, хотите ли вы импортировать метаданные для SP - скажите «да» и выберите импорт из подготовленного файла метаданных.
] На этом этапе вы должны быть в значительной степени настроены.
Следующим вы захотите получить метаданные вашего IDP. Есть несколько способов сделать это. Вы можете использовать « http: // servername: 8080 / opensso / ssoadm.jsp? Cmd = export-entity » или « http: // servername:
Вместо установки и настройки IdP вы можете использовать размещенную тестовую платформу, такую как TestShib или OpenIdP . Оба работают в одном направлении, но OpenIdP требует, чтобы вы зарегистрировались.
Вы можете попробовать LemonLDAP :: NG ( http://lemonldap-ng.org )
Он упакован для большинства дистрибутивов Linux, поэтому его легко установить и настроить.
Я долго пытался протестировать интеграцию с SAML2 и использовал OpenSSO. С тех пор как я обнаружил OKTA для тестирования приложений http://okta.com/ , я не оглядывался назад. Он идеален, прост в использовании, вы также можете создавать разных пользователей и отправлять пользовательские атрибуты обратно в SP.
OpenSSO не подходит. Для начала у вас есть те смешные капчи, которые даже не имеют смысла. SSOCircle не позволяет вам отправлять пользовательские атрибуты, он также не позволяет вам использовать шифрование SHA-256, как я уже видел. OpenSSO не поможет вам с сообщениями об ошибках, если вы не заплатите за их отладочную функциональность (что, вероятно, плохо, учитывая, что остальная часть приложения работает плохо).