Autor Wątek: Daty i czasy logowań użytkowników  (Przeczytany 21706 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline johny_melonik

  • Nowy użytkownik
  • *
  • Wiadomości: 3
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.25
Daty i czasy logowań użytkowników
« dnia: Czerwiec 27, 2011, 10:33:51 »
Witam,

czy jest możliwość sprawdzenia z poziomu Subiekta GT lub bazy danych SQL kiedy dokładnie dany użytkownik logował się do Subiekta?

pozdrawiam

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9208
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Daty i czasy logowań użytkowników
« Odpowiedź #1 dnia: Czerwiec 27, 2011, 11:17:05 »
W zasadzie jak sam tego nie oprogramujesz to nie

Jeżeli chodzi o Subiekta to obejrzyj poniższy wątek:
http://www.forumsubiekta.pl/gratyfikant/liczba-godzin-przepracowanych-liczona-automatycznie/

Jeżeli chodzi o serwer SQL to pytanie - jak masz ustawione logowanie do serwera SQL ? Logowanie domenowe  czy standardowo na "sa" ?
Sławek, Zduńska Wola

Offline johny_melonik

  • Nowy użytkownik
  • *
  • Wiadomości: 3
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.25
Odp: Daty i czasy logowań użytkowników
« Odpowiedź #2 dnia: Czerwiec 27, 2011, 11:37:39 »
logowanie jest standardowe na "sa".

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9208
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Daty i czasy logowań użytkowników
« Odpowiedź #3 dnia: Czerwiec 27, 2011, 11:42:56 »
No to z serwera SQL niczego się nie dowiesz - pozostaje Ci to co zapisuje Subiekt w swojej bazie (a i to pewnie nie za wiele się przyda).
Sławek, Zduńska Wola

Offline kronopio

  • Nowy użytkownik
  • *
  • Wiadomości: 12
  • Reputacja +0/-0
  • Wersja programu: Subiekt 1.26SP1, Rewizor 1.26SP1, Rachmistrz 1.26SP1
Odp: Daty i czasy logowań użytkowników
« Odpowiedź #4 dnia: Lipiec 07, 2011, 11:31:57 »
No to z serwera SQL niczego się nie dowiesz - pozostaje Ci to co zapisuje Subiekt w swojej bazie (a i to pewnie nie za wiele się przyda).

Można wyciągnąć datę i godzinę logowania konkretnego użytkownika nawet dla logowania domenowego. Skrypt SQL jest bardzo prosty ale niestety wymaga pewniej znajomości obsługi SQLServera - nie da się takiej informacji wyklikać w interfejsie Insertu (może się kiedyś pokuszę o napisanie małej aplikacji - jak będę miał chwile czasu).

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9208
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Daty i czasy logowań użytkowników
« Odpowiedź #5 dnia: Lipiec 07, 2011, 14:41:16 »
Oczywiście, że można napisać logon trigger ale czego się dowiesz jak @johny_melonik nie ma logowania z autoryzacją windows tylko logowanie SQL przez pojedynczego użytkownika "sa" ?

Sławek, Zduńska Wola

Offline kronopio

  • Nowy użytkownik
  • *
  • Wiadomości: 12
  • Reputacja +0/-0
  • Wersja programu: Subiekt 1.26SP1, Rewizor 1.26SP1, Rachmistrz 1.26SP1
Odp: Daty i czasy logowań użytkowników
« Odpowiedź #6 dnia: Lipiec 07, 2011, 15:25:07 »
Oczywiście, że można napisać logon trigger ale czego się dowiesz jak @johny_melonik nie ma logowania z autoryzacją windows tylko logowanie SQL przez pojedynczego użytkownika "sa" ?

eeee tam... jakie trigery.. po co od razu z taką armatą? Czy przy logowaniu do np Subiekta musisz podać login użytkownika i hasło (niezależnie od rodzaju systemu autentykacji)?  Wydaje mi się że chyba tak... Systemy insertu muszą gdzieś przechowywać dane na temat zdefiniowanych użytkowników (chociażby do weryfikacji hasła). Jeżeli dobrze się przyjrzysz jakie są tabele w bazie Insertu to bez problemu znajdziesz taką z sesjami użytkowników. Jeżeli ją sobie przeglądniesz to zobaczysz login, datę logowana. Co więcej jest tam podany pid procesu SQL a więc możesz wyciągnąć co w danej chwili użytkownik robi (jakie sql'e odpala).

Offline kronopio

  • Nowy użytkownik
  • *
  • Wiadomości: 12
  • Reputacja +0/-0
  • Wersja programu: Subiekt 1.26SP1, Rewizor 1.26SP1, Rachmistrz 1.26SP1
Odp: Daty i czasy logowań użytkowników
« Odpowiedź #7 dnia: Lipiec 07, 2011, 15:35:10 »
jeszcze małe doprecyzowanie:
oczywiście wszystkie SP (stor procki) odpalane są przez program w kontekście konta administratora (sa lub użytkownika domenowego). Ale każde zalogowanie powoduje utworzenie nowego połączenia i przydzielenie odpowiedniego pid'a dla tego połaczenia przez SQLServer a więc znając tego pida możesz "inwigilować" wszystkie czynności wykonywane przez wybranego przez Ciebie usera.
No chyba wszystko w temacie.

Używaj opcji MODYFIKUJ - jak chcesz coś dopisać
« Ostatnia zmiana: Lipiec 07, 2011, 15:38:21 wysłana przez detemoto »

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9208
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Daty i czasy logowań użytkowników
« Odpowiedź #8 dnia: Lipiec 07, 2011, 15:58:15 »
Jak sobie dokładnie prześledzisz tabele z sesjami w Subiekcie to zobaczysz, że nie ma tam całej historii logowań tylko OSTATNIE logowaNIE o danym @@SPid (są update na rekordach o danym @@Spid) Czyli możesz odczytać co w danej chwili robi ale co robił 2 tygodnie temu? Ten @@spid mógł być nadpisany już dziesiątki razy...
Sławek, Zduńska Wola

Offline kronopio

  • Nowy użytkownik
  • *
  • Wiadomości: 12
  • Reputacja +0/-0
  • Wersja programu: Subiekt 1.26SP1, Rewizor 1.26SP1, Rachmistrz 1.26SP1
Odp: Daty i czasy logowań użytkowników
« Odpowiedź #9 dnia: Lipiec 07, 2011, 16:03:09 »
Jak sobie dokładnie prześledzisz tabele z sesjami w Subiekcie to zobaczysz, że nie ma tam całej historii logowań tylko OSTATNIE logowaNIE o danym @@SPid (są update na rekordach o danym @@Spid) Czyli możesz odczytać co w danej chwili robi ale co robił 2 tygodnie temu? Ten @@spid mógł być nadpisany już dziesiątki razy...
Zgadzam się i nigdzie w moich postach nie twierdziłem inaczej. Nic o historii nie wspominałem.
Moje cytaty:
"... możesz wyciągnąć co w danej chwili użytkownik robi.."
"...możesz "inwigilować" wszystkie czynności wykonywane przez wybranego przez Ciebie usera"
(wykonywane nie wykonane)

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9208
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Daty i czasy logowań użytkowników
« Odpowiedź #10 dnia: Lipiec 07, 2011, 16:12:20 »
Czyli ma się to nijak do potrzeb @johny_melonika.
Reasumując - jak nie oprogramujesz sobie tego, to z historii logowań "nici".
Sławek, Zduńska Wola

Offline kronopio

  • Nowy użytkownik
  • *
  • Wiadomości: 12
  • Reputacja +0/-0
  • Wersja programu: Subiekt 1.26SP1, Rewizor 1.26SP1, Rachmistrz 1.26SP1
Odp: Daty i czasy logowań użytkowników
« Odpowiedź #11 dnia: Lipiec 07, 2011, 17:53:36 »
i tak i nie :) Jeżeli @johny_melonika interesuje tylko informacja na temat ostatnich logowań użytkowników to jest to rozwiązanie ok. Jeżeli chciałby mieć kompletną historię (a nie pół-historię) to najłatwiejszym rozwiązaniem byłby to co opisałeś czyli trigger "delete" na tabeli z sesjami :). Niestety z jego postu nie wynika  czego dokładnie wymaga.

Poprawka:
- przeanalizowałem dokładniej tą tabelę i wychodzi mi że jest przyrostowa (nowe rekordy sesyjne są dodawane a nie updatowane). Rekordy są usuwane jeżeli są starsze niż 1 miesiąc a więc nie jest tak źle - można mieć historię logowań wszystkich użytkowników z ostatniego miesiąca :). Ale dalej jest to pół-historia :)
« Ostatnia zmiana: Lipiec 07, 2011, 19:06:40 wysłana przez kronopio »

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9208
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Daty i czasy logowań użytkowników
« Odpowiedź #12 dnia: Lipiec 07, 2011, 20:48:22 »
Wg mnie to pusta dyskusja ale skoro już ciągniesz to...

- przeanalizowałem dokładniej tą tabelę i wychodzi mi że jest przyrostowa (nowe rekordy sesyjne są dodawane a nie updatowane). Rekordy są usuwane jeżeli są starsze niż 1 miesiąc

A skąd taki wniosek? Na postawie czego tak sądzisz? Skąd wziął się tan "1 miesiąc" ?

Wystarczy jak włączysz sobie profilera i zobaczysz w logowaniu jak zapełniana jest tabela pd_sesja - nie trzeba wróżyć z fusów.   ;)



@birds22 i @kronopio - panowie - ta dyskusja schodzi na manowce. Proszę podać, o ile to możliwe, rozwiązanie, co @johny..... ma zrobić, żeby miał to, o co pyta.
Widać, że obaj macie pojęcie o SQL-u, więc zamiast się licytować pomóżcie @johnemu.... :) - to taka prośba ....
« Ostatnia zmiana: Lipiec 07, 2011, 22:05:01 wysłana przez detemoto »
Sławek, Zduńska Wola

Offline kronopio

  • Nowy użytkownik
  • *
  • Wiadomości: 12
  • Reputacja +0/-0
  • Wersja programu: Subiekt 1.26SP1, Rewizor 1.26SP1, Rachmistrz 1.26SP1
Odp: Daty i czasy logowań użytkowników
« Odpowiedź #13 dnia: Lipiec 08, 2011, 10:42:37 »
@detemoto
racja.

Tak jak pisałem wymagane jest minimalne obycie z SQL. A więc za pomocą np:
MS SQL Server  Management Studio Express (do sciągnięcia za free) odpalamy poniższy skrypt:

SELECT B.uz_Imie as Imie, B.uz_Nazwisko as Nazwisko, A.ss_data as Data, A.ss_hid as 'Nazwa komputera'
FROM pd_Sesja A
INNER JOIN pd_Uzytkownik B ON A.ss_uid = B.uz_Id
ORDER BY A.ss_data desc

wg. moich testów po zalogowaniu powstaje rekord sesji (w czasie użytkowania są również dodawane nowe rekordy - nie wiem od czego to zależy). Być może rekordy sesji powstają tylko dla użytkowników z jakimiś określonymi uprawnieniami (testowałem na koncie z pełnym dostępem).

@birds22
"Skąd wziął się tan 1 miesiąc"  - sprawdziłem na 2 podmiotach i taki wniosek wyciągnąłem na podstawie dat (być może błędny).
"...nie trzeba wróżyć z fusów..." - niestety czasem trzeba - na serwerze gdzie mam Inserta zainstalowaną mam wersję SQL Express i ze zrozumiałych wzg. nie mogę odpalić Prof. A przenosić bazę insertu na pełnego SQL do celów stricte prywatnych to nie bardzo chcę.

Offline marysh

  • Nowy użytkownik
  • *
  • Wiadomości: 14
  • Reputacja +0/-0
  • Wersja programu: 1.26 SP1
Odp: Daty i czasy logowań użytkowników
« Odpowiedź #14 dnia: Lipiec 08, 2011, 12:30:13 »
do wyrażenia 'A.ss_data as Data' wyświetla datę a jak będzie z czasem?

Forum Użytkownikow Subiekt GT

Odp: Daty i czasy logowań użytkowników
« Odpowiedź #14 dnia: Lipiec 08, 2011, 12:30:13 »