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