Printoscope Desktop Authentication - Podręcznik Użytkownika wersja 1.2.0.0 1
Spis treści 1. Wprowadzenie... 5 1.1. Korzyści wynikające z zastosowania rozwiązania... 5 1.2. Sposób działania rozwiązania... 5 1.3. Wymagania systemowe... 5 2. Moduł Printoscope Desktop Authentication Server... 7 2.1. Funkcje serwera PDA... 7 2.1.1. Uwierzytelnianie użytkowników wykonujących wydruki... 7 2.1.2. Wsparcie dla projektów... 7 2.1.3. Zarządzanie hasłami... 8 2.1.4. Interfejs www do zarządzanie modułami Print Master... 9 2.2. Źródła uwierzytelniania... 9 2.2.1. Serwer LDAP... 9 2.2.2. Baza danych... 9 2.3. Bazy danych... 10 2.3.1. Baza danych Printoscope.... 10 2.3.2. Zewnętrzna baza danych.... 10 2.3.3. Wbudowana baza danych.... 10 2.4. Instalacja... 10 2.5. Konfiguracja... 11 2.5.1. Ustawienia ogólne... 11 2.5.1.1. authenticationmetod... 11 2.5.1.2. useprojects... 11 2.5.1.3. passwordmanagement.enable... 12 2.5.2. Zarządzanie hasłami... 12 2.5.2.1. passwordmanagement.usepccdb... 12 2.5.2.2. passwordmanagement.hostname... 12 2.5.3. Wysyłanie maili związane z zarządzaniem hasłami... 12 2.5.3.1. mail.smtpserver... 12 2.5.3.2. mail.email... 13 2.5.3.3. mail.password... 13 2.5.4. Konfiguracja serwisu www... 13 2.5.4.1. https.port... 13 2.5.4.2. https.keystore... 13 2.5.4.3. https.password... 13 2.5.4.4. https.keypassword... 14 2.5.4.5. https.maxconnectionidletime... 14 2.5.4.6. https.maxthreads... 14 2.5.4.7. https.minthreads... 14 2.5.4.8. https.maxthreadidletime... 14 2.5.4.9. https.acceptqueuesize... 15 2.5.5. LDAP jako źródło uwierzytelniania... 15 2.5.5.1. ldap.connectionurl... 15 2.5.5.2. ldap.alternateurl... 15 2.5.5.3. ldap.ssl... 15 2.5.5.4. ldap.authtype... 15 2
2.5.5.5. ldap.bindlogin... 16 2.5.5.6. ldap.bindpass... 16 2.5.5.7. ldap.connecttimeout... 16 2.5.5.8. ldap.searchtimeout... 16 2.5.5.9. ldap.usersearchfilter... 17 2.5.5.10. ldap.usersearchbase... 17 2.5.5.11. ldap.usersearchscope... 17 2.5.5.12. ldap.useraccountattribute... 17 2.5.5.13. ldap.useractiveattribute... 18 2.5.5.14. ldap.userauthmethod... 18 2.5.5.15. ldap.userpassattribute... 18 2.5.5.16. ldap.userloginattribute... 18 2.5.5.17. ldap.useremailattribute... 19 2.5.5.18. ldap.loginsearchfilter... 19 2.5.6. Baza danych jako źródło uwierzytelniania.... 19 2.5.6.1. authdb.usepccdb... 19 2.5.6.2. authdb.authquery... 19 2.5.6.3. authdb.digest... 20 2.5.6.4. authdb.enc... 21 2.5.6.5. authdb.loginquery... 21 2.5.7. Pula połaczeń z bazą danych Printoscope... 21 2.5.7.1. pccdbpool.driver... 21 2.5.7.2. pccdbpool.url... 22 2.5.7.3. pccdbpool.user... 22 2.5.7.4. pccdbpool.password... 22 2.5.7.5. pccdbpool.maxsize... 22 2.5.7.6. pccdbpool.size... 22 2.5.7.7. pccdbpool.expirytime... 23 2.5.7.8. pccdbpool.maxwait... 23 2.5.8. Pula połączeń z zewnętrzną bazą danych... 23 2.5.9. Pula połączeń z wbudowaną bazą danych... 23 2.5.9.1. internaldb.port... 23 2.5.9.2. internaldbpool.maxsize... 23 2.5.9.3. internaldbpool.size... 24 2.5.9.4. internaldbpool.expirytime... 24 2.5.9.5. pccdbpool.maxwait... 24 2.5.10. Aktualizacja modułów Print Master... 24 2.5.10.1. update.dir... 24 2.5.10.2. update.maxconcurrentupdates... 25 2.5.10.3. update.checkperiod... 25 3. Moduł Print Master... 26 3.1. Wprowadzenie... 26 3.2. Instalacja... 26 3.2.1. Instalacja interaktywna... 26 3.2.2. Instalacja cicha... 29 3.2.3. Zawartość katalogu... 29 3.2.4. Operacje wykonywane podczas instalacji... 31 3
3.2.5. Log... 31 3.2.6. Deinstalacja... 31 3.3. Konfiguracja... 32 3.3.1. Dodanie portu... 32 3.3.2. Ustawienie portu drukarce... 39 3.3.3. Zmiana parametrów konfiguracyjnych... 41 3.3.4. Zapamiętanie użytkownika i hasła... 41 3.3.5. Autoryzacja użytkownika w przypadku gdy włączone jest zarządzanie hasłami... 42 3.4. Procedura drukowania... 44 3.5. Monitor PDA... 50 4
1. Wprowadzenie 1.1. Korzyści wynikające z zastosowania rozwiązania System Printoscope opiera mechanizm rozpoznania autora wydruku na informacjach uzyskanych od systemu operacyjnego lub na informacjach przesyłanych protokołem LPR (w przypadku drukowania do Printoscope Terminal Server). Istnieją jednak sieci komputerowe, w których z różnych względów nie ma możliwości prawidłowego rozróżnienia autora wydruku na podstawie tych informacji. Może to być spowodowane: brakiem scentralizowanej domeny użytkowników, istnieniem wielu rozłącznych domen użytkowników. Printoscope Desktop Authentication jest rozwiązaniem systemu Printoscope, którego zadaniem jest zapewnienie poprawnego rozpoznania autora wydruku w sytuacjach, gdy uzyskanie takiej informacji nie jest w prosty sposób możliwe. 1.2. Sposób działania rozwiązania Rozwiązanie opiera sie na dwóch modułach, module serwera (Printoscope Desktop Autentication Server) i module klienta (Print Master). Moduł Klienta instalowany jest na każdej stacji roboczej, dla której monitorowane mają być wydruki i integruje się z systemem drukowania systemu operacyjnego. Na początku każdego drukowania Print Master wstrzymuje proces drukowania i wyświetla okienko dialogowe, przy użyciu którego użytkownik musi autoryzować wydruk podając login i hasło. Dane dotyczące uwierzytelniania wysyłane są do modułu serwera protokołem https i są sprawdzane przez serwer w sposób skonfigurowany po stronie serwera. Jeśli login i hasło są prawidłowe Print Master zamyka okienko dialogowe i wznawia proces drukowania. Dodatkowo Print Master wzbogaca informacje płynące z wydrukiem o login użytkownika drukującego tak, aby pozostałe moduły systemu Printoscope mogły poprawnie zidentyfikować autora wydruku. 1.3. Wymagania systemowe Wymagania odnośnie serwera: system operacyjny MS Windows 2000 MS Windows 2003 MS Windows XP zainstalowany protokół TCP/IP zalecana konfiguracja komputera Pentium IV 1 GB RAM 200 MB na HDD na potrzeby instalacji 5
Wymagania odnośnie modułu Print Master: system operacyjny MS Windows 2000 MS Windows 2003 MS Windows XP MS Vista zainstalowany protokół TCP/IP 6
2. Moduł Printoscope Desktop Authentication Server 2.1. Funkcje serwera PDA 2.1.1. Uwierzytelnianie użytkowników wykonujących wydruki Printoscope Desktop Authentication serwer ma za zadanie wykonywać żądania https wysyłane przez moduł Print Master. Najważniejszym żądaniem jest uwierzytelnianie użytkownika wykonującego wydruk. Po otrzymaniu danych uwierzytelniania (typowo jest to login i hasło) serwer wykonuje sprawdzenie ich prawidłowości. W tym celu serwer wykonuje odpowiednie zapytania do serwera LDAP lub innego wskazanego w konfiguracji źródła uwierzytelniania. Rysunek 1. Przetwarzanie żądania uwierzytelniania wydruku przez moduł Print Master Serwer PDA pełni więc rolę pomostu między Print Masterem a źródłem uwierzytelniania. Daje to następujące korzyści: sposób uwierzytelniania osoby wykonującej wydruk jest dla modułu Print Master zawsze taki sam (w przypadku zmian nie jest potrzebna zmiana w konfiguracji rozdystrybuowanych modułów Print Master), serwer PDA może obsługiwać również żądania, nie związane ściśle z uwierzytelnianiem, które nie mogą być spełnione przez serwer źródła uwierzytelniania (wsparcie dla projektów, zarządzanie hasłami, itp.) 2.1.2. Wsparcie dla projektów System Printoscope umożliwia rozliczanie ilości i kosztów wydruków na projekty. Wymaga to wskazania przez użytkownika wykonującego wydruk projektu, na który system powinien rozliczyć wydruk. Moduł Print Master umożliwia wybranie projektu, na który ma zostać rozliczony wydruk, bezpośrednio po wykonaniu uwierzytelniania. Serwer PDA obsługuje żądania modułu Print Master, w których zwraca listę projektów, na jakie użytkownik może rozliczyć wydruk. Listę projektów serwer PDA pobiera z bazy danych systemu Printoscope. 7
Rysunek 2. Proces pobierania listy projektów podczas uwierzytelniania 2.1.3. Zarządzanie hasłami Zarządzenia hasłami jest opcją konfiguracji serwera PDA. Jeśli opcja ta jest włączona to: serwer PDA przechowuje skróty SHA-256 haseł użytkowników wykonujących wydruki w bazie danych Printoscope lub we wbudowanej bazie danych, w źródle uwierzytelniania oprócz loginów użytkowników muszą znajdować się również ich adresy email, podczas sprawdzania uwierzytelniania serwer PDA nie wykorzystuje haseł użytkowników zgromadzonych w źródle uwierzytelniania, ale w bazie danych Printoscope lub we wbudowanej bazie danych, przed wykonaniem pierwszego wydruku użytkownik musi wykorzystując oprogramowanie Print Master założyć dla siebie hasło. Założenie pierwszego odbywa się w następujący sposób: użytkownik w okienku Print Master wpisuje swój własny adres email, serwer PDA generuje hasło i wraz z loginem wysyła do użytkownika na podany adres email, użytkownik zatwierdza nowy login i hasło poprzez kliknięcie na link, który wysłany został do niego w mailu, użytkownik może uwierzytelniać swoje wydruki przy użyciu swojego loginu i wygenerowanego hasła, jeśli jednak wygenerowane hasło mu nie odpowiada to może zmienić je przy użyciu oprogramowania Print Master. Kluczowe dla poprawnego działania zarządzania hasłami jest istnienie adresów email w źródle uwierzytelniania. Jest to niezbędne do zapewnienia powiązania między loginami użytkowników w źródle uwierzytelniania a skrótami haseł, które są przechowywane w bazie danych Printoscope lub we wbudowanej bazie danych. 8
2.1.4. Interfejs www do zarządzanie modułami Print Master Serwer PDA pod udostępnia pod adresem https://[host]:[port]/mgt/ interfejs do zarządzania zainstalowanymi modułami Print Master oraz przeglądania informacji na ich temat. Dostęp do interfejsu WWW wymaga podania loginu i hasła administratora. Użytkowników mających dostęp do interfejsu konfiguruje się w pliku conf/ realm.properties. Plik ten ma format [login]: [hasło],[rola] [login]: [hasło],[rola]... [login]: [hasło],[rola] np. johnsysop: secret, admin administrator: strongpassword, admin Konieczne jest podanie jako roli łańcucha znaków 'admin', gdyż dostęp do aplikacji odbywa się tylko na prawach użytkownika o roli 'admin'. 2.2. Źródła uwierzytelniania Server PDA obsługuje 2 typy źródeł uwierzytelniania: serwer LDAP i baza danych. 2.2.1. Serwer LDAP W przypadku użycia serwera LDAP jako źródła uwierzytelniania do katalogów LDAP muszą zostać wprowadzeni wszyscy użytkownicy, którzy będą się uwierzytelniali przy użyciu modułu Print Master. Jeśli zarządzanie hasłami jest włączone, to każdy wpis dotyczący użytkownika musi być opatrzony również jego poprawnym adresem email. Jeśli natomiast zarządzanie hasłami jest wyłączone to każdy wpis musi zawierać dodatkowo skrót hasła użytkownika (najczęściej md5 lub crypt). Podczas sprawdzania uwierzytelniania serwer PDA wykonuje operację ldapsearch na usłudze katalogowej LDAP. Operacja jest wykonywana według skonfigurowanych na serwerze PDA parametrów. Po znalezieniu wpisu o danym loginie następuje sprawdzenie hasła. W przypadku gdy zarządzanie hasłami jest wyłączone to sprawdzenie hasła następuje w jeden (określony w konfiguracji) z poniższych sposobów: utworzenie skrótu hasła przesłanego przez moduł Print Master i porównanie z skrótem hasła przechowywanym na serwerze LDAP porównanie hasła przy użyciu operacji ldapcompare. Jeśli natomiast zarządzanie hasłami jest wyłączone to skrót SHA-256 hasła przesłanego przez moduł Print Master jest porównywany ze skrótem zapisanym w bazie danych Printoscope. 2.2.2. Baza danych W przypadku użycia bazy danych jako źródła uwierzytelniania sytuacja wygląda analogicznie jak w przypadku serwera LDAP. Użytkownicy zapisani są w bazie danych, typowo w jednej tabeli, w postaci jeden wiersz (krotka) jeden użytkownik. 9
Podczas sprawdzania uwierzytelniania serwer PDA wykonuje wyszukiwanie informacji o użytkowniku przy użyciu zapytania zapisanego w konfiguracji serwera PDA. Jeśli zarządzanie hasłami jest włączone to sprawdzenie hasła następuje poprzez porównanie skrótu SHA-256 hasła przesłanego przez moduł Print Master ze skrótem zapisanym w bazie danych zarządzania hasłami. W przeciwnym wypadku następuje porównanie skrótu hasła przesłanego przez moduł Print Master ze skrótem hasła zapisanym w bazie danych źródła uwierzytelniania. W drugim przypadku istnieje możliwość wskazania w konfiguracji serwera PDA w postaci jakiego skrótu hasła użytkowników zapisywane są w bazie danych źródła uwierzytelniania. 2.3. Bazy danych 2.3.1. Baza danych Printoscope. Serwer PDA może utworzyć pulę połączeń z bazą danych Printoscope w następujących przypadkach: serwer został skonfigurowany do zapewniania wsparcia dla projektów, zarządzanie hasłami jest włączone, a jako bazę danych przechowującą skróty haseł użytkowników wybraną bazę danych Printoscope, jako źródło uwierzytelniania wybrano bazę danych Printoscope. Jeśli baza danych Printoscope ma przechowywać skróty haseł to należy upewnić się, że wersja Printoscope jest większa niż 6.6.9.3. 2.3.2. Zewnętrzna baza danych. Serwer PDA może utworzyć pulę połączeń z zewnętrzną bazą danych w przypadku jeśli wybrano zewnętrzną bazę danych jako źródło uwierzytelniania. 2.3.3. Wbudowana baza danych. Serwer PDA posiada wbudowaną bazę danych Apache Derby, która służy do zapamiętywania statystyk związanych z modułami Print Master. Serwer PDA może również zostać skonfigurowany w taki sposób, by skróty haseł użytkowników (w przypadku gdy zarządzanie hasłami jest włączone) również zapisywane były w tej bazie. 2.4. Instalacja Aby zainstalować serwer PDA należy wykonać następujące kroki: zainstalować Java SE Development Kit (JDK) 5.0, instalator można pobrać ze strony http://java.sun.com/ javase/downloads/index_jdk5.jsp, ustawić zmienną środowiskową JAVA_HOME tak aby wskazywała katalog z zainstalowanym JDK, zainstalować serwis serwera PDA przy użyciu skryptu install-service.bat, skonfigurować serwer PDA, włączyć serwis Printoscope Desktop Authorization Server (z linii komend net start PDASRV). 10
2.5. Konfiguracja Konfigurację serwera przeprowadza się w pliku conf/pdasrv.conf. Plik składa się z sekwencji linii o formacie: nazwa = wartość Linie rozpoczynające się od znaku # są ignorowane i mogą być traktowane jako komentarz. Parametry pliku konfiguracyjnego opatrzone są komentarzami. Każdy z parametrów oznaczony jest jako opcjonalny (optional) albo wymagany (required). Jeśli parametr oznaczony jest jako wymagany to należy rozpatrzeć jaką wartość powinien posiadać. W przypadku parametrów opcjonalnych zaleca się pozostawienie wartości domyślnych. Dopuszcza się pominięcie parametrów opcjonalnych w pliku konfiguracyjnym. Przyjmowane są wtedy ich wartości domyślne. Parametry podzielone są na sekcje. Sekcja może być pominięta i nie brana pod uwagę przez serwer w zależności od tego jak zostały skonfigurowane parametry z innych sekcji. Informacja o tym znajduje się w komentarzu każdej sekcji. Podobna informacja może być zamieszczona dla pojedynczego parametru. Konfiguracja jest ładowana podczas startu serwera. Jeśli konfiguracja zostanie zmieniona podczas pracy serwera to aby zmiany odniosły efekt należy zrestartować serwer. Serwer przerywa procedurę uruchamiania jeśli napotka błąd w konfiguracji. Uruchomienie serwera może się zakończyć powodzeniem tylko jeśli konfiguracja w całości jest poprawna. 2.5.1. Ustawienia ogólne Konfiguracja tej sekcji jest wymagana zawsze. 2.5.1.1. authenticationmetod Ustawia sposób w jaki serwer wykonuje operację sprawdzenia uwierzytelniania użytkownika. Możliwe wartości to: ldap - źródłem uwierzytelniania jest serwer LDAP db - źródłem uwierzytelniania jest baza danych authenticationmetod=ldap 2.5.1.2. useprojects Ustawia czy serwer jest skonfigurowany do pracy z projektami. Parametr może przyjmować dwie wartości yes i no. useprojects=yes 11
2.5.1.3. passwordmanagement.enable Ustawia czy zarządzanie hasłami ma być włączone. Parametr może przyjmować dwie wartości yes i no. passwordmanagement.enable=no 2.5.2. Zarządzanie hasłami Konfiguracja tej sekcji jest wymagana jeśli passwordmanagement.enable=yes. W przeciwnym wypadku wartości parametrów są ignorowane. 2.5.2.1. passwordmanagement.usepccdb Ustawia czy skróty SHA-256 haseł użytkowników mają być przechowywane w bazie danych Printoscope (wartość yes parametru) czy we wbudowanej bazie danych (wartość no parametru). Parametr wymagany. passwordmanagement.usepccdb=no 2.5.2.2. passwordmanagement.hostname Ustawia nazwę hosta, który wchodzi w skład linku służącego do potwierdzenia operacji założenia hasła (patrz Sekcja 2.1.3, Zarządzanie hasłami ). Parametr opcjonalny, domyślnie nieustawiony. Jeśli parametr nie jest ustawiony, to nazwa hosta jest pobierana z systemu operacyjnego. passwordmanagement.hostname=darkstar 2.5.3. Wysyłanie maili związane z zarządzaniem hasłami Konfiguracja tej sekcji jest wymagana jeśli passwordmanagement.enable=yes. W przeciwnym wypadku wartości parametrów są ignorowane. 2.5.3.1. mail.smtpserver Adres serwera SMTP. Parametr wymagany. mail.smtpserver=smtp.unknown.com 12
2.5.3.2. mail.email Adres email z jakiego wysyłane są maile. Parametr wymagany. mail.email=unknown@unknown.com 2.5.3.3. mail.password Hasło konta email z jakiego wysyłane są maile. Parametr wymagany. mail.password=order66 2.5.4. Konfiguracja serwisu www Konfiguracja tej sekcji jest wymagana zawsze. 2.5.4.1. https.port Port na jakim serwer PDA oczekuje na połączenia od modułów Print Master. Parametr opcjonalny, domyślną wartością jest 8443. https.port=8443 2.5.4.2. https.keystore Ścieżka do magazynu kluczy (keystore) w formacie JKS zawierającego samo podpisany (self-signed) lub autoryzowany certyfikat. Wskazanie keystore jest konieczne do obsługi przez serwer połączeń SSL/ Parametr wymagany. https.keystore=conf/pda.jks 2.5.4.3. https.password Hasło magazynu kluczy (keystore). Parametr wymagany. 13
https.password=keystoresecretpass 2.5.4.4. https.keypassword Hasło klucza w magazynie kluczy (keystore). Parametr wymagany. https.keypassword=keysecretpass 2.5.4.5. https.maxconnectionidletime Maksymalny czas (podany w milisekundach) utrzymywania przez serwer połączenia HTTP, które nie jest aktywne. Parametr opcjonalny, domyślną wartością jest 15000. https.maxconnectionidletime=15000 2.5.4.6. https.maxthreads Maksymalna ilość wątków jaką wykorzystuje serwer http. Parametr opcjonalny, domyślną wartością jest 255. https.maxthreads=255 2.5.4.7. https.minthreads Minimalna ilość wątków jaką wykorzystuje serwer http. Parametr opcjonalny, domyślną wartością jest 50. https.minthreads=50 2.5.4.8. https.maxthreadidletime Czas po jakim wątek jaki nie jest używany kończy swoje działanie (o ile nie spowoduje to zmniejszenia ilości wątków poniżej https.minthreads). Parametr opcjonalny, domyślną wartością jest 60000. https.maxthreadidletime=60000 14
2.5.4.9. https.acceptqueuesize Określa maksymalną liczbę połączeń tcp/ip do serwera http jakie mogą oczekiwać na przyjęcie w przypadku gdy brakuje wątków do obsługi połączeń. Kolejne połączenia będą odrzucane. Parametr opcjonalny, domyślną wartością jest 1000. https.acceptqueuesize=1000 2.5.5. LDAP jako źródło uwierzytelniania Konfiguracja tej sekcji jest wymagana, jeśli authenticationmetod=ldap. W przeciwnym wypadku wartości parametrów są ignorowane. 2.5.5.1. ldap.connectionurl Adres URL przy użyciu którego nawiązywane jest połączenie do serwera LDAP. Parametr wymagany. ldap.connectionurl=ldap://somehost:389 2.5.5.2. ldap.alternateurl Adres URL przy użyciu którego nawiązywane jest połączenie do serwera LDAP w przypadku, jeśli nawiązanie połączenie do ldap.connectionurl nie jest możliwe. Jeśli parametr nie jest podany próba nawiązania alternatywnego połączenia nie jest wykonywana. Parametr wymagany. ldap.alternateurl=ldap://10.128.19.50:389 2.5.5.3. ldap.ssl Określa czy połączenie do serwera ldap będzie wykonywane poprzez protokół SSL. Parametr wymagany. ldap.ssl=no 2.5.5.4. ldap.authtype Określa sposób autoryzacji połączenia z serwerem LDAP (operacja bind). Możliwe wartości to: 15
none brak autoryzacji (połączenie anonimowe), simple uwierzytelnienie przy użyciu jawnego loginu i hasła digest-md5 uwierzytelnianie przy użyciu loginu i skrótu md5 hasła (zgodnie z RFC 2831) Parametr wymagany. ldap.authtype=simple 2.5.5.5. ldap.bindlogin Login używany do autoryzacji połączenia z serwerem LDAP. Parametr wymagany jeśli wartość parametru ldap.authtype jest inna niż none. W przeciwnym wypadku parametr jest ignorowany. ldap.bindlogin=cn=manager,dc=company,dc=com 2.5.5.6. ldap.bindpass Hasło używane do autoryzacji połączenia z serwerem LDAP. Parametr wymagany jeśli wartość parametru ldap.authtype jest inna niż none. W przeciwnym wypadku parametr jest ignorowany. ldap.bindpass=kretulec 2.5.5.7. ldap.connecttimeout Określa maksymalny czas (w milisekundach) jaki serwer będzie oczekiwał na nawiązanie połączenia z serwerem LDAP. Parametr opcjonalny, domyślną wartością jest 10000. ldap.connecttimeout=10000 2.5.5.8. ldap.searchtimeout Określa maksymalny czas (w milisekundach) jaki serwer będzie oczekiwał na zakończenie operacji search wykonywanej na serwerze LDAP. Parametr opcjonalny, domyślną wartością jest 5000. 16
ldap.searchtimeout=5000 2.5.5.9. ldap.usersearchfilter Wyrażenie użyte do zbudowania filtru jaki jest używany podczas wykonywanie operacji search mającej na celu znalezienie wpisu na temat użytkownika w katalogu LDAP. Znak? określa miejsce gdzie powinien zostać wstawiony login wpisany przez użytkownika drukującego (w okienku dialogowym Print Master). Parametr wymagany. ldap.usersearchfilter=( (uid=?)(mail=?)) 2.5.5.10. ldap.usersearchbase Określa distinguish name katalogu LDAP od którego rozpoczynać się będzie operacja search wyszukiwania wpisu na temat użytkownika. Parametr wymagany. ldap.usersearchbase=ou=organization,dc=company,dc=com 2.5.5.11. ldap.usersearchscope Określa czy wyszukiwanie ma się odbywać tylko i wyłącznie w katalogu wskazanym w ldap.usersearchbase czy również w katalogach podrzędnych. Możliwe wartości to: one wyszukiwanie tylko w zakresie katalogu ldap.usersearchbase, sub wyszukiwanie w zakresie katalogu ldap.usersearchbase oraz jego katalogów podrzędnych. Parametr wymagany. ldap.usersearchscope=sub 2.5.5.12. ldap.useraccountattribute Nazwa atrybutu we wpisie dotyczącym użytkownika w katalogu LDAP, którego wartość uznawana jest za nazwę konta użytkownika w systemie Printoscope. Parametr wymagany. ldap.useraccountattribute=uid 17
2.5.5.13. ldap.useractiveattribute Nazwa atrybutu (o typie logicznym) we wpisie dotyczącym użytkownika w katalogu LDAP, która określa czy użytkownik jest aktywny. Jeśli parametr jest pusty to serwer pomija sprawdzenie czy użytkownik jest aktywny. Parametr wymagany. ldap.useractiveattribute=accountactive 2.5.5.14. ldap.userauthmethod Określa sposób w jaki będzie sprawdzane czy użytkownik, którego wpis znaleziono w LDAP, uwierzytelnił się poprawnie. Możliwe wartości to: bind - uwierzytelnianie użytkownika poprzez wykonanie operacji bind na distinguish name znalezionego wpisu w LDAP oraz hasło wpisane przez użytkownika drukującego compare - uwierzytelnianie poprzez porównanie wartości atrybutu ldap.userpassattribute ze znalezionego wpisu na temat użytkownika z hasłem wpisanym przez użytkownika drukującego; porównanie uwzględnia format w jakim zapisane zostało hasło (hasło jawne, skrót MD5 lub SHA) Parametr wymagany jeśli passwordmanagement.enable=no. W przeciwnym wypadku parametr jest ignorowany. ldap.userauthmethod=compare 2.5.5.15. ldap.userpassattribute Określa nazwę atrybutu występującego we wpisie na temat użytkownika w katalogu LDAP, przechowującego hasło użytkownika. Parametr wymagany jeśli passwordmanagement.enable=no i ldap.userauthmethod=compare. W przeciwnym wypadku parametr jest ignorowany. ldap.userpassattribute=somesecretpassword 2.5.5.16. ldap.userloginattribute Nazwa atrybutu we wpisie dotyczącym użytkownika w katalogu LDAP, którego wartość jest loginem użytkownika uwierzytelniającego się w okienku dialogowym Print Mastera. Parametr wymagany jeśli passwordmanagement.enable=yes. W przeciwnym wypadku parametr jest ignorowany. ldap.userloginattribute=uid 18
2.5.5.17. ldap.useremailattribute Nazwa atrybutu we wpisie dotyczącym użytkownika w katalogu LDAP, którego wartość jest adresem email użytkownika. Parametr wymagany jeśli passwordmanagement.enable=yes. W przeciwnym wypadku parametr jest ignorowany. ldap.useremailattribute=mail 2.5.5.18. ldap.loginsearchfilter Wyrażenie użyte do zbudowania filtru jaki jest używany podczas wykonywanie operacji search mającej na celu znalezienie wpisu na temat użytkownika w katalogu LDAP na podstawie jego adresu email. Znak? określa miejsce gdzie powinien zostać wstawiony email wpisany przez użytkownika drukującego (w okienku dialogowym Print Master). Parametr wymagany jeśli passwordmanagement.enable=yes. W przeciwnym wypadku parametr jest ignorowany. ldap.loginsearchfilter=(mail=?) 2.5.6. Baza danych jako źródło uwierzytelniania. Konfiguracja tej sekcji jest wymagana, jeśli authenticationmetod=db. W przeciwnym wypadku wartości parametrów są ignorowane. 2.5.6.1. authdb.usepccdb Określa czy za bazę źródła uwierzytelniania będzie uważana baza danych Printoscope: yes - baza danych Printoscope jako źródło uwierzytelniania no - baza zewnętrzna jako źródło uwierzytelniania Parametr wymagany. authdb.usepccdb=yes 2.5.6.2. authdb.authquery Zapytanie jakie jest wykonywane na potrzebę uwierzytelniania. Zapytanie w wyniku wykonania musi zwracać jeden wiersz zawierający cztery wartości: konto użytkownika, hasło użytkownika, informacje czy. Dodatkowo zapytanie musi posiadać miejsce na wstawienie loginu jaki wpisuje użytkownik drukujący oznaczone znakiem '?'. konto użytkownika - typ varchar, konto na które rozliczane będą wydruki, 19
hasło użytkownika - typ varchar, hasło bądź skrót hasła użytkownika autoryzującego wydruk, użytkownik aktywny - typ integer, 0 - użytkownik jest aktywny, wartość różna od 0 oznacza użytkownika nieaktywnego, email użytkownika - typ varchar, email użytkownika podawany przy resetowaniu hasła. Wartości 1, 2 i 3 używane są jeśli passwordmanagement.enable=no. Wartość 4 nie jest wtedy istotna. Zapytanie może wyglądać następująco: authdb.authquery= \ SELECT account, pass, active, '' \ FROM users WHERE login =? Wartości 1, 3 i 4 używane są jeśli passwordmanagement.enable=yes. Wartość 4 nie jest wtedy istotna. Zapytanie może w takim przypadku wyglądać następująco: authdb.authquery= \ SELECT account, '', active, email \ FROM users WHERE login =? Jeśli wiadomo, że wszyscy użytkownicy są zawsze aktywni zapytanie dla passwordmanagement.enable=no może wyglądać np. następująco: authdb.authquery= \ SELECT account, pass, 0, '' \ FROM users WHERE login =? Parametr wymagany. 2.5.6.3. authdb.digest Określa algorytm skrótu, jaki jest użyty do zaszyfrowania hasła zapisanego w bazie danych. Możliwe wartości to: sha-512, sha1, md2, sha, sha-256, sha-1, md5, sha-384, 20
none - hasła zapisane są jawnie. Parametr wymagany. authdb.digest=sha 2.5.6.4. authdb.enc Algorytm kodowania jaki jest stosowany do zamiany bajtów będących wynikiem wykonania skrótu hasła na łańcuch znaków. Możliwe wartości to: hex - każdy bajt skrótu zapisany w postaci dwóch znaków określających liczbę heksadecymalną, base64 - kodowanie base 64. Parametr wymagany jeśli authdb.digest jest inne niż none. authdb.enc=hex 2.5.6.5. authdb.loginquery Zapytanie jakie jest wykonywane w celu pobrania loginu użytkownika (używanego do autoryzowania wydruku w okienku dialogowym Print Master) oraz informacji o tym czy użytkownik jest aktywny (patrz authdb.authquery) na podstawie adresu email użytkownika. Zapytanie musi posiadać miejsce na wstawienie adresu email. Zapytanie musi być napisane w sposób zakładający, że wszystkie litery w adresie email są małe. Parametr wymagany jeśli passwordmanagement.enable=yes, w przeciwnym wypadku parametr jest ignorowany. authdb.loginquery= \ SELECT account, active FROM users \ WHERE LOWER(email) =? 2.5.7. Pula połaczeń z bazą danych Printoscope Konfiguracja jest wymagana jeśli (authenticationmetod=db i authdb.usepccdb=yes) lub useprojects=yes lub (passwordmanagement.enable=yes and passwordmanagement.usepccdb=yes). W przeciwnym przypadku wartości parametrów są ignorowane. 2.5.7.1. pccdbpool.driver Nazwa sterownika JDBC jaki posłuży do nawiązania połączenia z bazą danych. W przypadku bazy PostgreSQL jest to org.postgresql.driver. 21
Parametr jest wymagany. pccdbpool.driver=org.postgresql.driver 2.5.7.2. pccdbpool.url Adres URL bazy danych z jakiej będzie korzystał serwer. Adres posiada następujący format: [przedrostek_zależny_od_sterownika_jdbc]://[adres]:[port]/ [nazwa_bazy_danych]. Parametr wymagany. pccdbpool.url=jdbc:postgresql://10.128.16.217:5432/marcinw-pcc2 2.5.7.3. pccdbpool.user Nazwa użytkownika bazy danych, na prawach którego wykonywane będą połączenia do bazy danych. Parametr wymagany. pccdbpool.user=pccuser 2.5.7.4. pccdbpool.password Hasło użytkownika bazy danych, na prawach którego wykonywane będą połączenia do bazy danych. Parametr wymagany. pccdbpool.password=secret878 2.5.7.5. pccdbpool.maxsize Określa maksymalną ilość połączeń do bazy danych. Parametr opcjonalny. Domyślną wartością jest 30. pccdbpool.maxsize=30 2.5.7.6. pccdbpool.size Określa minimalną ilość połączeń jakie są utrzymywane z bazą danych nawet jeśli nie są aktywnie używane. 22
Parametr opcjonalny. Domyślną wartością jest 10. pccdbpool.size=10 2.5.7.7. pccdbpool.expirytime Określa czas (w milisekundach) po jakim połączenia nie aktywne z bazą danych są zamykane (z zachowaniem minimalnej ilości połączeń określonej w pccdbpool.size). Parametr opcjonalny. Domyślną wartością jest 60000. pccdbpool.expirytime=60000 2.5.7.8. pccdbpool.maxwait Maksymalny czas (w milisekundach) jaki serwer oczekuje na przydzielenie połączenia z puli połączeń z bazą danych (w sytuacji jeśli wszystkie połączenia są zajęte). Parametr opcjonalny. Domyślną wartością jest 10000. pccdbpool.maxwait=10000 2.5.8. Pula połączeń z zewnętrzną bazą danych Konfiguracja sekcji jest wymagana jeśli authenticationmetod=db i authdb.usepccdb=no. Parametry konfiguracyjne zaczynąją się od przedrostka authdbpool, ich nazwy są dokładnie takie same jak w przypadku puli połączeń z bazą danych Printoscope. 2.5.9. Pula połączeń z wbudowaną bazą danych Konfiguracja sekcji jest wymagana zawsze. 2.5.9.1. internaldb.port Port na którym baza Apache Derby oczekuje na połączenia z localhost. Parametr opcjonalny, domyślną wartością jest 1527. internaldb.port=1527 2.5.9.2. internaldbpool.maxsize Określa maksymalną ilość połączeń do bazy danych. 23
Parametr opcjonalny. Domyślną wartością jest 50. internaldbpool.maxsize=50 2.5.9.3. internaldbpool.size Określa minimalną ilość połączeń jakie są utrzymywane z bazą danych nawet, jeśli nie są aktywnie używane. Parametr opcjonalny. Domyślną wartością jest 10. internaldbpool.size=10 2.5.9.4. internaldbpool.expirytime Określa czas (w milisekundach) po jakim połączenia nie aktywne z bazą danych są zamykane (z zachowaniem minimalnej ilości połączeń określonej w internaldbpool.size). Parametr opcjonalny. Domyślną wartością jest 60000. internaldbpool.expirytime=60000 2.5.9.5. pccdbpool.maxwait Maksymalny czas (w milisekundach) jaki serwer oczekuje na przydzielenie połączenia z puli połączeń z bazą danych (w sytuacji jeśli wszystkie połączenia są zajęte). Parametr opcjonalny. Domyślną wartością jest 5000. internaldbpool.maxwait=5000 2.5.10. Aktualizacja modułów Print Master Konfiguracja sekcji jest wymagana zawsze. 2.5.10.1. update.dir Scieżka do folderu, który monitorowany jest w poszukiwaniu pliku PrintMaster.pmz. Parametr wymagany. update.dir=./update 24
2.5.10.2. update.maxconcurrentupdates Maksymalna ilość jednoczesnych aktualizacji modułów Print Master. Parametr opcjonalny, domyślną wartością jest 100. update.maxconcurrentupdates=100 2.5.10.3. update.checkperiod Czas podany w milisekundach po upływie którego serwer sprawdza czy w katalogu update.dir nastąpiły jakieś zmiany (został dodany, podmieniony lub usunięty plik PrintMaster.pmz). Parametr opcjonalny, domyślną wartością jest 4000. update.checkperiod=4000 25
3. Moduł Print Master 3.1. Wprowadzenie Print Master (PM) to moduł, którego główną funkcją jest autoryzacja wydruków wykonywanych przez użytkownika w systemie Windows. Autoryzacja obejmuje wydruki wykonywane na drukarki lokalne i sieciowe oraz na drukarki objęte systemem Printoscope Terminal Server. Opcjonalną funkcją PM jest rozliczanie wydruków na projekty w systemie Printoscope Cost Control. 3.2. Instalacja Instalacja PM wymaga uprawnień administratora systemu operacyjnego. Instalacja PM może się odbyć na dwa sposoby. Pierwsza z nich to instalacja interaktywna, wymagająca udziału użytkownika. W czasie instalacji pojawiają się okna dialogowe, które zmieniają się dopiero po naciśnięciu przez użytkownika przycisku. Druga z instalacji, tzw. cicha, nie wymaga żadnej interakcji ze strony użytkownika. 3.2.1. Instalacja interaktywna Instalację interaktywną uruchamia się poprzez plik PMSetup.msi. Opcjonalnie plik można uruchomić z parametrem pdahost, w którym określa się adres serwera PDA, np. PMSetup.msi pdahost=10.128.16.13 Jeśli parametr pdahost nie zostanie podany, to instalator domyślnie przyjmie wartość localhost. W przypadku systemu Windows Vista należy pamiętać, aby plik PMSetup.msi uruchomić jako administrator (na pliku należy wywołać menu kontekstowe i wybrać opcję Uruchom jako administrator). W przypadku uruchomienia pliku z parametrem pdahost, należy stworzyć plik o rozszerzeniu bat i umieścić w nim polecenie msiexec z bezwględną ścieżką do pliku w drugim parametrze, np. msiexec /i c:\instalki\pmsetup.msi pdahost=10.128.16.13 Na instalację interaktywną składa się następujący ciąg okien dialogowych: 26
Rysunek 3. Instalator Print Mastera - okno powitalne Rysunek 4. Instalator Print Mastera - wybór katalogu docelowego 27
Rysunek 5. Instalator Print Mastera - potwierdzenie instalacji Rysunek 6. Instalator Print Mastera - pasek postępu instalacji 28
Rysunek 7. Instalator Print Mastera - okno końcowe instalacji zakończonej sukcesem 3.2.2. Instalacja cicha Instalacja cicha charakteryzuje się tym, że w trakcie nie pojawia się żadne okno dialogowe. Instalator wykonuje wszystko automatycznie przyjmując wartości domyślne. Aby wywołać cichą instalację PM, należy plik PMSetup.msi uruchomić z dodatkowym parametrem /q, np. PMSetup.msi /q pdahost=10.128.16.13 3.2.3. Zawartość katalogu Domyślnie PM zostaje zainstalowany w katalogu c:\program Files\Printoscope Print Master. W katalogu tym znajdują się następujące katalogi i pliki: katalog Agent Katalog z instalatorem modułu Printoscope Agent. katalog Jobs Katalog, w którym Print Monitor zapisuje wydruki i logi. Część wydruków i logów może znajdować się w podkatalogu Jobs katalogu C:\Documents and Settings\ %USERNAME%\Ustawienia lokalne\dane aplikacji\pmprintmonitor, gdzie %USERNAME% to nazwa użytkownika wykonującego wydruk. Dzieje się tak wówczas, gdy użytkownik wykonujący wydruk nie posiada uprawnień administratora systemu operacyjnego. katalog Logs Katalog z logami (oprócz logów Print Monitora). 29
Część logów może znajdować się w podkatalogu Logs katalogu C:\Documents and Settings\%USERNAME% \Ustawienia lokalne\dane aplikacji\pmprintmonitor, gdzie %USERNAME% to nazwa użytkownika wykonującego wydruk. Dzieje się tak wówczas, gdy użytkownik wykonujący wydruk nie posiada uprawnień administratora systemu operacyjnego. plik PMCPLApplet.cpl Plik wykonywalny apletu w Panelu Sterowania o nazwie Printoscope Print Master Ustawienia. plik PMCustAct.dll Program narzędziowy. plik PMHook.dll Program narzędziowy. plik PMPrintMonitor.dll Główna biblioteka Print Monitora. plik PMPrintMonitorUI.dll Biblioteka Print Monitora wymagana w systemach serwerowych. plik PMUIMod.dll Program narzędziowy. plik PMGUIDispatcher.exe Program narzędziowy. plik PMPrintMonitorInstall.exe Program narzędziowy. plik PMService.exe Plik wykonywalny usługi o nazwie PM Monitor Service. plik RepProc.exe Program narzędziowy. plik PrintMaster.ini Plik konfiguracyjny. Pliki PMPrintMonitor.dll, PMPrintMonitorUI.dll, PMUIMod.dll, PMHook.dll, PMCPLApplet.cpl i PMPrintMonitorInstall.exe podczas instalacji zostają skopiowane do katalogu %WINDIR%\system32, natomia- 30
st plik PrintMaster.ini do katalogu %WINDIR%. Gdy użytkownik na oknie autoryzacji wybierze opcję Pamiętaj mnie, to wówczas w katalogu C:\Documents and Settings\%USERNAME%\Ustawienia lokalne\dane aplikacji\pmprintmonitor powstaje plik PrintMaster.ini z parametrami DefaultUserName i DefaultPassword, gdzie %USERNAME% to nazwa użytkownika wykonującego wydruk. 3.2.4. Operacje wykonywane podczas instalacji Podczas instalacji dodawany jest nowy typ portu o nazwie PMPrintMonitor. Drukarka w systemie operacyjnym, której zostanie ustawiony ten typ portu, stanie się drukarką objętą systemem Printoscope Terminal Server, co oznacza, że wydruki wykonane na tej drukarce po autoryzacji użytkownika trafią najpierw do centralnego serwera, a dopiero podczas sesji użytkownika na Print Terminalu zostaną wydrukowane na fizycznym urządzeniu. Podczas instalacji na potrzeby PM tworzony jest nowy użytkownik w systemie operacyjnym o nazwie PrintoscopeUser. Dzięki umieszczeniu tego użytkownika w gałęzi rejestru: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ Winlogon\SpecialAccounts\UserList pozostaje on niewidoczny na ekranie logowania do systemu Windows. W innej gałęzi rejestru: HKEY_LOCAL_MACHINE\SOFTWARE\Printoscope Print Master podczas instalacji powstają dwie wartości. Pierwsza z nich to InstallDir, określająca katalog, w którym został zainstalowany PM. Druga z nich to UniqueId, pozwalająca w jednoznaczny sposób zidentyfikować PM przez moduł PDA Server. Wartość UniqueId zostaje stworzona tylko wtedy, gdy nie istnieje (jeśli istnieje, to pozostaje bez zmian). 3.2.5. Log Log instalacji PM powstaje w katalogu C:\Documents and Settings\%USERNAME%\Ustawienia lokalne\dane aplikacji\pmprintmonitor, gdzie %USERNAME% to nazwa użytkownika zalogowanego w systemie operacyjnym, w którego sesji jest wykonywana instalacja PM. Plik logu nazywa się ppmsetup_log.txt. 3.2.6. Deinstalacja Aby odinstalować PM, należy uruchomić Start Panel Sterowania Dodaj lub usuń programy, a następnie odszukać na liście Printoscope Print Master i wybrać przycisk Usuń. 31
Rysunek 8. Wywołanie deinstalatora Print Mastera Jeśli w systemie operacyjnym będzie istniała co najmniej jedna drukarka z portem typu PMPrintMonitor, to wówczas PM nie zostanie całkowicie odinstalowany. Pozostaną wszystkie wymagane przez Print Monitor katalogi i pliki. Jeśli więc chcemy całkowicie usunąć PM z systemu, należy wcześniej zadbać o zwolnienie portów typu PMPrintMonitor przez drukarki. 3.3. Konfiguracja 3.3.1. Dodanie portu Aby dodać port typu PMPrintMonitor, należy uruchomić Start Ustawienia Drukarki i faksy. Następnie, wywołując menu kontekstowe, należy wybrać Właściwości serwera (Rysunek 9, Dodanie portu - właściwości serwera ). W wyniku otrzymamy okno, w którym na zakładce Porty znajduje się lista portów (Rysunek 14, Dodanie portu - lista portów ). Należy wówczas wybrać przycisk Dodaj port, a następnie na liście typów portów należy zaznaczyć PMPrintMonitor i wybrać przycisk Nowy port (Rysunek 16, Dodanie portu - lista typów portów ). W wyniku otrzymamy okno, w którym należy podać serwer i kolejkę, czyli parametry centralnego serwera wydruku (Rysunek 17, Dodanie portu - serwer i kolejka ). Podczas dodawania portu w systemie Windows 7 należy zwrócić uwagę na dwie rzeczy: Właściwości serwera będą widoczne dopiero po wybraniu drukarki z listy (Rysunek 11, Dodanie portu - właściwości serwera (Windows 7) ) oraz przed wybraniem przycisku Dodaj port należy wybrać przycisk Zmień ustawienia portu (Rysunek 15, Dodanie portu - lista portów (Windows 7) ). 32
Uwaga: Jeśli w systemie Windows 7 nie ma żadnej drukarki, to port można dodać wywołując Zarządzanie drukowaniem z Narzędzi administracyjnych w Panelu sterowania (Rysunek 12, Dodanie portu - Zarządzanie drukowaniem (Windows 7), Rysunek 13, Dodanie portu - Zarządzanie drukowaniem (Windows 7) ). Rysunek 9. Dodanie portu - właściwości serwera 33
Rysunek 10. Dodanie portu - właściwości serwera (Windows Vista) 34
Rysunek 11. Dodanie portu - właściwości serwera (Windows 7) 35
Rysunek 12. Dodanie portu - Zarządzanie drukowaniem (Windows 7) 36
Rysunek 13. Dodanie portu - Zarządzanie drukowaniem (Windows 7) Rysunek 14. Dodanie portu - lista portów 37
Rysunek 15. Dodanie portu - lista portów (Windows 7) Rysunek 16. Dodanie portu - lista typów portów Rysunek 17. Dodanie portu - serwer i kolejka 38
W wyniku dodania portu typu PMPrintMonitor, na liście portów pojawi się port, którego nazwa, nadawana automatycznie, składa się z następujących części: portn (gdzie N jest liczbą całkowitą), nazwy serwera i nazwy kolejki (poszczególne części oddzielone są średnikiem), np. port1;10.128.16.13;q_mp2000 Rysunek 18. Wynik dodania portu 3.3.2. Ustawienie portu drukarce Po dodaniu portu typu PMPrintMonitor, należy ustawić port wybranej drukarce zainstalowanej w systemie operacyjnym. W tym celu należy wywołać Właściwości drukarki (Rysunek 19, Ustawienie portu drukarce - właściwości drukarki ). W wyniku otrzymamy okno, w którym na zakładce Porty znajduje się lista portów. Należy wówczas odszukać port typu PMPrintMonitor i wybrać go dla drukarki (Rysunek 20, Ustawienie portu drukarce - wybór portu typu PMPrintMonitor ). W wyniku po każdym żądaniu wydruku na drukarce z portem typu PMPrint- Monitor, użytkownikowi pokaże się okno autoryzacji (Rysunek 21, Okno autoryzacji Print Mastera ). Dopiero po pomyślnym zalogowaniu się (podaniu nazwy użytkownika i hasła), wydruk zostanie "wydrukowany", tzn. trafi do centralnego serwera wydruku. 39
Rysunek 19. Ustawienie portu drukarce - właściwości drukarki Rysunek 20. Ustawienie portu drukarce - wybór portu typu PMPrintMonitor 40
Rysunek 21. Okno autoryzacji Print Mastera 3.3.3. Zmiana parametrów konfiguracyjnych Istnieje możliwość zmiany parametru pdahost podawanego podczas instalacji PM, określającego serwer z modułem PDA Server. W tym celu należy otworzyć do edycji plik PrintMaster.ini, znajdujący się w katalogu %WIN- DIR%, i odnaleźć w nim sekcję PDAServer z parametrem Host. Przy kolejnym żądaniu wydruku na drukarce z portem typu PMPrintMonitor, PM zwróci się do nowo skonfigurowanego serwera w celu autoryzacji użytkownika. 3.3.4. Zapamiętanie użytkownika i hasła Autoryzacja wymaga od użytkownika podania nazwy użytkownika i hasła. Dzieje się tak po każdym żądaniu wydruku na drukarce z portem typu PMPrintMonitor. Istnieje możliwość zapamiętania użytkownika i hasła. W tym celu na oknie autoryzacji znajduje się pole wyboru Pamiętaj mnie. Jeśli pole to zostanie zaznaczone i autoryzacja użytkownika po wybraniu przycisku OK zakończy się sukcesem, to przy kolejnym żądaniu wydruku na drukarce z portem typu PMPrintMonitor, pola Użytkownik i Hasło zostaną wypełnione zapamiętanymi danymi. 41
Rysunek 22. Zapamiętanie użytkownika i hasła Nazwa użytkownika i hasło są zapamiętywane w pliku PrintMaster.ini w parametrach odpowiednio DefaultUserName i DefaultPassword. Plik ten z tymi dwoma parametrami znajduje się w katalogu C:\Documents and Settings\%USERNAME%\Ustawienia lokalne\dane aplikacji\pmprintmonitor, gdzie %USERNAME% to nazwa użytkownika wykonującego wydruk. 3.3.5. Autoryzacja użytkownika w przypadku gdy włączone jest zarządzanie hasłami Jeśli na serwerze PDA włączone jest zarządzanie hasłami (patrz Sekcja 2.1.3, Zarządzanie hasłami ), to przed wykonaniem pierwszego wydruku na drukarce z portem typu PMPrintMonitor, użytkownik musi wykonać kilka czynności. Na początku należy wywołać aplet Printoscope Print Master Ustawienia. W tym celu należy uruchomić Start Panel Sterowania Printoscope Print Master Ustawienia. Na ekranie pokaże się okno autoryzacji z dwoma dodatkowymi przyciskami. 42
Rysunek 23. Okno autoryzacji Print Mastera - konfiguracja loginu i hasła Przycisk z zieloną zębatką służy do podania adresu email użytkownika (Rysunek 24, Okno do przesłania na podany adres email loginu i hasła ). Ważne, aby ten sam adres email istniał w źródle uwierzytelniania i został przypisany właściwemu użytkownikowi. Na podany adres email zostanie wysłana wiadomość, w której użytkownik otrzyma login i hasło (Rysunek 25, Wiadomość z loginem i hasłem ). Aby aktywować hasło, należy kliknąć w link znajdujący się w wiadomości. Rysunek 24. Okno do przesłania na podany adres email loginu i hasła 43
Rysunek 25. Wiadomość z loginem i hasłem Przycisk z czerwną zębatką służy do zmiany hasła. Aby użytkownikowi pokazało się okno, w którym należy podać nowe hasło, należy prawidłowo wypełnić pola Użytkownik i Hasło w oknie autoryzacji. Rysunek 26. Okno do zmiany hasła 3.4. Procedura drukowania Każde żądanie wydruku na drukarce z portem typu PMPrintMonitor spowoduje wyświetlenie na ekranie okna autoryzacji (Rysunek 27, Okno autoryzacji Print Mastera ). Jeśli system PDA został tak skonfigurowany, że także wydruki lokalne i sieciowe mają być autoryzowane, to okno autoryzacji pojawi się również z każdym żądaniem wydruku na drukarce lokalnej lub sieciowej. 44
Rysunek 27. Okno autoryzacji Print Mastera W momencie pokazania się okna autoryzacji, użytkownik proszony jest o podanie nazwy użytkownika i hasła, które pozwolą mu wykonać wydruk. Jeśli pola Użytkownik i Hasło zostaną wypełnione danymi, użytkownik powinien wybrać przycisk OK. Jeśli w danej chwili wystąpią problemy w połączeniu z serwerem PDA, to na oknie autoryzacji pojawi się stosowny komunikat (Rysunek 28, Błąd autoryzacji - brak połączenia z serwerm PDA ). Podobnie, gdy nazwa użytkownika lub hasło są nieprawidłowe (Rysunek 29, Błąd autoryzacji - nieprawidłowy login lub hasło ). 45
Rysunek 28. Błąd autoryzacji - brak połączenia z serwerm PDA Rysunek 29. Błąd autoryzacji - nieprawidłowy login lub hasło Jeśli użytkownikowi nie uda się przejść procesu autoryzacji i wybierze przycisk Anuluj, wówczas wydruk zostanie skasowany, a na ekranie pokaże się następujący komunikat. 46
Rysunek 30. Komunikat o skasowaniu wydruku w wyniku niepomyślnej autoryzacji W przypadku, gdy autoryzacja użytkownika zakończy się pomyślnie, to wówczas możliwe są dwa scenariusze. Pierwszy scenariusz zakłada, że użytkownik został przypisany do aktywnych projektów w systemie Printoscope Cost Control. Wtedy zanim wydruk zostanie wydrukowany użytkownik musi wykonać jeszcze jedną czynność, a mianowicie wybrać projekt, na który zostaną rozliczone koszty wydruku (Rysunek 31, Komunikat o konieczności wyboru projektu ). Możliwe jest także, aby koszty wydruku nie zostały rozliczone na żaden z projektów. Wówczas użytkownik na liście z projektami musi wybrać pozycję Brak (Rysunek 32, Wybór projektu z listy ). Drugi scenariusz to sytuacja, gdy użytkownik nie jest przypisany do żadnego aktywnego projektu w systemie Printoscope Cost Control. Wówczas po pomyślnej autoryzacji okno zostanie zamknięte, a wydruk zostanie wydrukowany. Rysunek 31. Komunikat o konieczności wyboru projektu 47
Rysunek 32. Wybór projektu z listy Zależnie od tego, jaka drukarka została wybrana przez użytkownika w celu wykonania wydruku, po takim czasie na ekranie pojawi się okno autoryzacji. Jeśli została wybrana drukarka z portem typu PMPrintMonitor, czas ten zależy od czasu, jaki bufor wydruku potrzebuje na zbuforowanie wydruku (zapis do pliku). W tym przypadku okno autoryzacji pojawi się dopiero wtedy, gdy status wydruku w kolejce drukarki zmieni się na Drukowanie (Rysunek 33, Stan kolejki i status wydruku przy wydruku na drukarce z portem typu PMPrintMonitor ). Jeśli system PDA został tak skonfigurowany, że także wydruki lokalne i sieciowe mają być autoryzowane, to przy wydruku na drukarę lokalną lub sieciową okno autoryzacji pojawi się natychmiast, zanim jeszcze w kolejce drukarki pojawi się wydruk (Rysunek 34, Stan kolejki przy wydruku na drukarce lokalnej lub sieciowej ). Dla wydruków lokalnych i sieciowych autoryzowanych przez system PDA charakterystyczne jest to, że ich nazwa w kolejce drukarki po pomyślnej autoryzacji wygląda inaczej niż przed autoryzacją. Do początkowej nazwy wydruku doklejane są trzy parametry: LoginPDA, ProjectID i CRC (Rysunek 35, Nazwa wydruku zmodyfikowana przez Print Mastera ). 48
Rysunek 33. Stan kolejki i status wydruku przy wydruku na drukarce z portem typu PMPrintMonitor 49
Rysunek 34. Stan kolejki przy wydruku na drukarce lokalnej lub sieciowej Rysunek 35. Nazwa wydruku zmodyfikowana przez Print Mastera 3.5. Monitor PDA Monitor PDA, czyli plik MonitorPDA.exe, jest programem do wysyłania wydruków, zautoryzowanych przez klienta PDA, do serwera PTS. Monitor PDA jest programem uruchamianym w sesji użytkownika wraz z usługą bufora wydruku (spoolera). Po uruchomieniu monitora PDA w trayu paska zadań systemu Windows pojawia się ikona z lupą. 50
Rysunek 36. Monitor PDA - ikona w trayu Dwukrotne kliknięcie w ikonę lub wywołanie na ikonie menu kontekstowego i wybranie polecenia 'Pokaż', spowoduje pojawienie się okna dialogowego monitora PDA. Rysunek 37. Monitor PDA - okno dialogowe Wybranie przycisku 'Zamknij' lub wywołanie na ikonie menu kontekstowego i wybranie polecenia 'Ukryj', spowoduje zamknięcie okna dialogowego monitora PDA. W oknie dialogowym monitora PDA wyświetlane są komunikaty dla użytkownika związane z procesem wysyłania wydruków do serwera PTS. Istnieją cztery rodzaje komunikatów: komunikat pojawienia się wydruku gotowego do wysłania do serwera PTS 51
Rysunek 38. Monitor PDA - komunikaty dla użytkownika komunikat mówiący o rozpoczęciu procesu wysyłania wydruku do serwera PTS Rysunek 39. Monitor PDA - komunikaty dla użytkownika komunikat mówiący o wyniku procesu wysyłania wydruku do serwera PTS 52
Rysunek 40. Monitor PDA - komunikaty dla użytkownika Rysunek 41. Monitor PDA - komunikaty dla użytkownika komunikat usunięcia wydruku 53
Rysunek 42. Monitor PDA - komunikaty dla użytkownika Dla każdego zautoryzowanego przez klienta PDA wydruku jest podejmowana co najmniej jedna próba wysyłania do serwera PTS. Jeśli próba się powiedzie, wydruk jest usuwany; w przeciwynym razie podejmowane są automatycznie kolejne próby. Ile jest tych prób i w jakim odstępie czasu - decydują o tym dwa parametry w pliku konfiguracyjnym klienta PDA, tj. pliku PrintMaster.ini: [PDAMonitor] AttemptCount=3 AttemptDelay=120 Parametr 'AttempCount' określa liczbę prób, natomiast 'AttemptDelay' - odstęp czasu w sekundach pomiędzy próbami. Domyślnie parametry te mają wartość odpowiednio 3 i 120, czyli w przypadku nieudanej pierwszej próby wysyłania wydruku do serwera PTS, zostaną podjęte jeszcze 3 próby, przy czym każda z nich zostanie podjęta w odstępie co najmniej 2 minut czasu. Komunikat wysyłania wydruku do serwera PTS w kolejnej próbie wygląda następująco: 54