1Ravada::Auth::SQL(3) User Contributed Perl Documentation Ravada::Auth::SQL(3)
2
3
4
6 Ravada::Auth::SQL - SQL authentication library for Ravada
7
8 BUILD
9 Internal OO build method
10
11 search_by_id
12 Searches a user by its id
13
14 my $user = Ravada::Auth::SQL->search_by_id( $id );
15
16 list_all_users
17 Returns a list of all the usernames
18
19 add_user
20 Adds a new user in the SQL database. Returns nothing.
21
22 Ravada::Auth::SQL::add_user(
23 name => $user
24 , password => $pass
25 , is_admin => 0
26 , is_temporary => 0
27 );
28
29 login
30 Logins the user
31
32 my $ok = $user->login($password);
33 my $ok = Ravada::LDAP::SQL::login($name, $password);
34
35 returns true if it succeeds
36
37 make_admin
38 Makes the user admin. Returns nothing.
39
40 Ravada::Auth::SQL::make_admin($id);
41
42 remove_admin
43 Remove user admin privileges. Returns nothing.
44
45 Ravada::Auth::SQL::remove_admin($id);
46
47 external_auth
48 Sets or gets the external auth value of an user.
49
50 is_admin
51 Returns true if the user is admin.
52
53 my $is = $user->is_admin;
54
55 is_user_manager
56 Returns true if the user is user manager
57
58 is_operator
59 Returns true if the user is admin or has been granted special
60 permissions
61
62 can_list_own_machines
63 Returns true if the user can list her own virtual machines at the web
64 frontend (can_XXXXX)
65
66 can_list_clones_from_own_base
67 Returns true if the user can list all machines that are clones from his
68 bases (can_XXXXX_clones)
69
70 can_list_clones
71 Returns true if the user can list all machines that are clones and its
72 bases (can_XXXXX_clones_all)
73
74 can_list_machines
75 Returns true if the user can list all the virtual machines at the web
76 frontend (can_XXXXX_all or is_admin)
77
78 is_external
79 Returns true if the user authentication is not from SQL
80
81 my $is = $user->is_external;
82
83 is_temporary
84 Returns true if the user is admin.
85
86 my $is = $user->is_temporary;
87
88 id
89 Returns the user id
90
91 my $id = $user->id;
92
93 password_will_be_changed
94 Returns true if user password will be changed
95
96 $user->password_will_be_changed();
97
98 change_password
99 Changes the password of an User
100
101 $user->change_password();
102
103 Arguments: password
104
105 compare_password
106 Changes the input with the password of an User
107
108 $user->compare_password();
109
110 Arguments: password
111
112 language
113 Updates or selects the language selected for an User
114
115 $user->language();
116
117 Arguments: lang
118
119 remove
120 Removes the user
121
122 $user->remove();
123
124 can_do
125 Returns if the user is allowed to perform a privileged action
126
127 if ($user->can_do("remove")) {
128 ...
129
130 can_do_domain
131 Returns if the user is allowed to perform a privileged action in a
132 virtual machine
133
134 if ($user->can_do_domain("remove", $domain)) {
135 ...
136
137 grant_user_permissions
138 Grant an user permissions for normal users
139
140 grant_operator_permissions
141 Grant an user operator permissions, ie: hibernate all
142
143 grant_manager_permissions
144 Grant an user manager permissions, ie: hibernate all clones
145
146 grant_admin_permissions
147 Grant an user all the permissions
148
149 revoke_all_permissions
150 Revoke all permissions from an user
151
152 grant
153 Grant an user a specific permission, or revoke it
154
155 $admin_user->grant($user2,"clone"); # both are
156 $admin_user->grant($user3,"clone",1); # the same
157
158 $admin_user->grant($user4,"clone",0); # revoke a grant
159
160 revoke
161 Revoke a permission from an user
162
163 $admin_user->revoke($user2,"clone");
164
165 list_all_permissions
166 Returns a list of all the available permissions
167
168 grant_type
169 Returns the type of a grant type, currently it can be 'boolaean' or
170 'int'
171
172 list_permissions
173 Returns a list of all the permissions granted to the user
174
175 sub can_change_settings($self, $id_domain=undef) {
176 if (!defined $id_domain) {
177 return $self->can_do("change_settings");
178 }
179 return 1 if $self->can_change_settings_all();
180
181 return 0 if !$self->can_change_settings();
182
183 my $domain = Ravada::Front::Domain->open($id_domain);
184 return 1 if $self->id == $domain->id_owner;
185
186 return 0;
187 }
188
189 can_manage_machine
190 The user can change settings, remove or change other things yet to be
191 defined. Some changes require special permissions granted.
192
193 Unlinke change_settings that any user is granted to his own machines by
194 default.
195
196 can_remove_clones
197 Returns true if the user can remove clones.
198
199 Arguments:
200
201 • id_domain: optional
202
203 can_remove_machine
204 Return true if the user can remove this machine
205
206 Arguments:
207
208 • domain
209
210 can_shutdown_machine
211 Return true if the user can shutdown this machine
212
213 Arguments:
214
215 • domain
216
217 grants
218 Returns a list of permissions granted to the user in a hash
219
220 grants_info
221 Returns a list of the permissions granted to an user as a hash. Each
222 entry is a reference to a list where the first value is the grant and
223 the second the type
224
225 ldap_entry
226 Returns the ldap entry as a Net::LDAP::Entry of the user if it has LDAP
227 external authentication
228
229 groups
230 Returns a list of the groups this user belogs to
231
232 disk_used
233 Returns the amount of disk space used by this user in MB
234
235
236
237perl v5.38.0 2023-07-21 Ravada::Auth::SQL(3)