Jak cię złapią, to znaczy, że oszukiwałeś. Jak nie, to znaczy, że posłużyłeś się odpowiednią taktyką.
23. Zak³adanie kont indyy
Procedura w przyk³adzie 2.23 .A poni¿ej pokazuje, w jaki sposób mo¿na progra-matycznie utworzyæ indywidualne konto dla u¿ytkownika o nazwie Jan. Zak³adaj¹c nowe konto u¿ytkownika, nale¿y podaæ jego imiê oraz osobisty identyfikator (tak zwany PID). PID nie jest has³em. W przyk³adowej procedurze nastêpuj¹ca instrukcja tworzy nowe konto u¿ytkownika: Set no iwyUser = wsp.CreateUser(strUser) 320 Programowanie w Access 2M Nazwa u¿ytkownika zawarta jest w zmiennej struser. Procedura nasta³ u¿ywa w³aœciwoœæ PID obiektu user, aby okreœliæ osobisty identifikator dla now u¿ytkownika. Nastêpnie w³aœciwoœæ Password pozwala okreœliæ has³o u¿ytkowa Zamiast trzech wierszy kodu w tej procedurze, mo¿na skorzystaæ z nastêpuj¹cej ii strukcji: Set nowyUser = wsp.CreateUser(strUser, "SPC100000", "gramofon") Ka¿dego nowego u¿ytkownika nale¿y nastêpnie dodaæ do zbioru users zafl moc¹ metody Append: wsp.Users.Append nowyUser Je¿eli okreœlone konto u¿ytkownika ju¿ istnieje to wyst¹pi b³¹d. Aby zastawi pu³apkê na ten b³¹d, procedura w przyk³adzie 2.23. zawiera procedurê obs³ugi blêj sk³adaj¹c¹ siê z dwóch instrukcji: wsp.Users.Delete strUser Resume 0 Pierwsza instrukcja powy¿ej usuwa u¿ytkownika ze zbioru users. Druga ii strukcja wraca do polecenia procedury, które spowodowa³o b³¹d, i procedura przebi³ ga dalej. Przyk³ad 2.23.A. Zak³adanie nowego konta u¿ytkownika Private Sub cmdDodajU¿ytkownika__Click () Dim wsp As DAO.Workspace Dim nowyUser As DAO.User Dim strUser As String On Error GoTo ErrorHandler Set wsp = DBEngine.Workspaces(0) strUser = "Jan" 1 zajdzie b³¹d je¿eli u¿ytkownik ju¿ istnieje Set nowyUser = wsp.CreateUser(strUser) nowyUser.PID = "SPC100000" nowyUser.Password = "gramofon" wsp.Users.Append nowyUser MsgBox "Dodano nowego u¿ytkownika o nazwie: & strUser Tworzenie i manipulowanie bazami danych za pomoc¹ ADO 321 Exit Sub EtrorHandler: wsp.Users.Delete strUser Resume 0 i End Sub i ,wta u¿ytkowników i grup ? X U¿ytkownicy Grupy j Zmienianie hasta logowania j r U¿ytkownik \ Nazwa: ]S c u - Iz³onkostwo grupy Dostêpne grupy:Administratorzy Gronek grupy: wsssrismUm Dodai...... U¿ytkownicy « Usuñ n ■ e- Drukuj u¿ytkowników i grupy Rysunek 2.24. Opcja o nazwie Konta u¿ytkowników i grup w menu Narzêdzia => Zabezpieczenia przedstawia nowe konto indywidulane dla u¿ytkownika Jana, dodane przez procedurê w przyk³adzie 2.23.A Aby przyœpieszyæ proces tworzenia nowych kont indywidualnych, Rys. 2.23 wczeœniej w tym zagadnieniu zawiera przycisk opatrzony etykiet¹ AA o nazwie „Dodaj nowego u¿ytkownika". Po klikniêciu tego przycisku procedura uwidacznia kilka ukrytych pól, które umo¿liwiaj¹ podanie argumentów metodzie createuser (zob. rys. 2.25). 322 Programowanie w Access 200(11 m frmDAO PrzykB : Form* i 11 .JJBI.SI Bezpieczeñstwo danych / obs³uga transakcji Obszary Robocze U¿ytkownicy i grupy j uprawnienia u¿ytkowników/grup 1 Transak je | a Dodaj nowego u¿ytkownika Imiê: Jan ID:PID123 BI Sporz¹dŸ wykaz1 II u¿ytkowników Za³ó¿ konto grupowe Nazwa grupy: Personalny Dodaj u¿ytkownika do grupy Imiê: 3an Grupa: Personalny Podaj u¿ytkowników w poszczególnych grupach Usuñ u¿ytkownika z grup" U¿ytkownicy bez has³a? Nazwa || OK Anuluj Password* Rysunek 2.25. Zastosowanie w³asnego formularza przy tworzeniu kont u¿ytkowników Przyk³ad 2.23.A. Tworzenie konta u¿ytkownika (Przyk³ad 2 - zob. rysunek 2.25 powy¿ej) Private Sub cmdAddUser_Click() Dim Ctrl As Control For Each Ctrl In Me.Controls If Ctrl.Properties("Tag").Value Ctrl.Visible = True End If Next Me.txtNazwa.SetFocus cmdAddUser.Enabled = False End Sub "tgKDntoU" Then Po klikniêciu przycisku OK (zob. rys. 2.25) umchomiona zostaje procedura cmdOKciick podana poni¿ej (zob. Czêœæ 1). Procedura ta sprawdza najpierw, czy wymagane dane zosta³y podane i czy s¹ one poprawne. Mo¿esz dodaæ do tej procedury j blok kodu, który sprawdzi liczbê znaków w polu Has³o (has³o nie mo¿e zawieraæ wiêcej ni¿ 14 znaków). Je¿eli wszystko dobrze wygl¹da, to procedura zawo³a funkcjê Tworzenie i manipulowanie bazami danych za pomoc¹ ADO 323 CreateUserAccount (zob. Czêœæ 2 poni¿ej) i przeka¿e do niej dane wpisane w poszczególnych polach tekstu (txtNazwa, txtpm, oraz txtHasio). Czêœæ 1. Zak³adanie konta indywidualnego 'upisz nastêpuj¹c¹ deklaracjê u samej góry kartki modu³u Option Compare Database Dim Flag As Boolean private . Sub cmdOK_C 1 i ck () ' sprawdŸ czy podano parametry If Me.txtNazwa = "" Or Me.txtPID = "" Then MsgBox "Nale¿y wpisaæ imiê i Identyfikator u¿ytkownika. ", , "Wymagane parametry" Me. txtNazwa.SetFocus Exit Sub End If If Len(Me.txtPID) < 4 Then MsgBox "Trzeba wpisaæ przynajmniej 4 znaki." Me. txtPID.SetFocus Exit Sub End If CreateUserAccount Me.txtNazwa, Me.txtPID, Me.txtHasio If Not Flag Then MsgBox Me.txtNazwa & " jest nowym u¿ytkownikiem." Me.cmdAddUser.Enabled = False Else
|
Wątki
|