Automatyczne zakładanie kont użytkowników
Atrybuty przekazywane przez CAS mogą posłużyć do automatycznego rozpoznania osoby, która się loguje i założenia dla niego konta. Służą to tego parametry casLoginAttributes oraz casLoginField ustawiane w pliku standalone.xml
casLoginAttributes wskazuje te atrybuty przekazywane przez CAS, które mają być użyte do odnalezienia osoby w omedze. Można go pominąć, jeśli jest używana tylko jedna główna wartość.
casLoginField wskazuje pola rekordu autor przez jakie system próbuje dopasować uwierzytelnionego użytkownika z osobą w omedze.
W przypadku wartości jak poniżej...
<simple name="java:/omega-psir/casLoginAttributes" value="uid;mail"/>
<simple name="java:/omega-psir/casLoginField" value="authorprofile/pesel;email"/>
...po zalogowaniu, omega sprawdzi, czy istnieje autor o peselu takim jak wartość uid przekazana z CASa, a w przypadku nieodnalezienia takiej osoby - czy istnieje autor z emailem takim jak wartość mail przekazana z CASa. Jeśli autor zostanie odnaleziony, zostanie założone powiązane z nim konto o uprawnieniach selfedition i selfimport. Listę nadawanych uprawnień można zmienić ustawiając parametr casLoginRoles
casLoginRoles - wskazuje rozdzielone średnikiem role, jakie ma uzyskać użytkownik założony za pomocą powyższego mechanizmu. W przypadku niepodania tego parametru, użytkownik dostanie role selfedition i selfimport.
Dodatkowo możliwe jest podanie dodatkowych parametrów sterujących procesem dopasowania:
casLoginTransform określa funkcję jaką należy przekształcić wartość przekazaną przez CAS przed dopasowaniem. Np. jeżeli CAS przekazuje nazwę użytkownika taką jak emailu (do @), a chcemy dopasowywać niejawnie przez email, to casLoginTransform powinien być wypełniony jak niżej.
<simple name="java:/omega-psir/casLoginTransform" value="#{login}.concat('@pw.edu.pl')"/>
casLoginToUser określa nazwę użytkownika, który zostanie utworzony w omedze po zalogowaniu. Jeśli jest pusta, to nazwa użytkownika będzie taka, jak w CASie.
Na liście przełączników (feature toggles) znajdują się kolejne włączniki związane z automatycznym tworzeniem użytkoników na podstawie CASa:
cas.alwaysCreateUserAccount - włączenie przełącznika powoduje, że w omedze zostanie założone konto dla każdego użytkownika, który z powodzeniem przejdzie uwierzytelnienie w CAS, nawet, gdy omega nie rozpozna tej osoby na podstawie przekazanych atrybutów. Założony użytkownik nie będzie powiązany z żadnym autorem występującym w Omedze i będzie miał role domyślne (selfedition i selfimport) lub te ustawione w parametrze casLoginRoles
cas.loginTransformation - włączenie przełącznika powoduje, że login przekazywany przez CAS podlega prostym transformacjom zdefiniowanym w parametrach tego przełącznika przed przekazaniem do omegi. Dostępne parametry to:
lowercase - login zostaje zamieniony na małe znaki
onlyAlphanumeric - login zostaje pozbawiony znaków nieliterowych
trimTo - login zostaje obcięty do podanej liczby znaków
Przełącznik cas.loginTransformation jest łatwiejszym w użyciu (ale mniej potężnym) odpowiednikiem parametru casLoginTransform