Changeset 1151
- Timestamp:
- 09/19/12 17:22:52 (12 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Ajax.pm
r1135 r1151 4 4 use warnings; 5 5 use base 'Catalyst::Controller'; 6 use LATMOS::Accounts::Utils; 6 7 7 8 =head1 NAME … … 128 129 } 129 130 131 sub random_password : Local { 132 my ($self, $c) = @_; 133 134 $c->stash->{random_password} = 135 LATMOS::Accounts::Utils::genpassword( 136 %{ $c->req->params() } 137 ); 138 } 139 130 140 sub check_ug_validity : Local { 131 141 my ( $self, $c ) = @_; -
trunk/LATMOS-Accounts-Web/root/html/users/passwd.tt
r1081 r1151 16 16 <div id="oform"> 17 17 [% IF c.model('Accounts').db.check_acl(user, 'userPassword', 'w') %] 18 18 19 <form id="fpasswd" action="[% c.uri_for(username, subform) %]" method="POST"> 19 20 <table border="1"> … … 29 30 </table> 30 31 </form> 32 33 <fieldset> 34 <legend>Mot de passe aléatoire</legend> 35 [% c.prototype.form_remote_tag({ 36 update => 'randpasswd', 37 url => c.uri_for('/ajax', 'random_password') 38 } ) %] 39 <input type=submit value="Générer !"> 40 <span id="randpasswd">Ici, votre mot de passe</span> 41 <br> 42 <input type=checkbox name=nonalpha value="1">Utiliser des caractÚres non 43 alpha-numérique<br> 44 <input type=checkbox name=syllables value="1">Utiliser des syllabes plutÃŽt que 45 des lettres<br> 46 </form> 47 </fieldset> 48 31 49 [% ELSE %] 32 50 <p>Vous n'avez pas les droits suffisants pour changer ce mot de passe</p> -
trunk/LATMOS-Accounts/MANIFEST
r1111 r1151 1 MANIFEST2 Makefile.PL3 README4 TODO5 1 annexes/sql.schema.sql 6 2 bin/la-acls … … 9 5 bin/la-config 10 6 bin/la-create 11 bin/la-sql-crypt-passwd12 7 bin/la-delete 13 8 bin/la-edit 14 bin/la-sql-exchange-ip15 9 bin/la-expired-reminder 16 10 bin/la-find-expired 17 11 bin/la-freeip 12 bin/la-gen-passwd 18 13 bin/la-graph.pl 19 14 bin/la-group … … 25 20 bin/la-rename 26 21 bin/la-rename-host 27 bin/la-sql-rev28 22 bin/la-search 23 bin/la-sql-crypt-passwd 24 bin/la-sql-edit-form 25 bin/la-sql-exchange-ip 29 26 bin/la-sql-list-request 30 27 bin/la-sql-loadatt 31 28 bin/la-sql-regatt 29 bin/la-sql-rev 32 30 bin/la-sql-sanity 33 31 bin/la-sql-upgrade.in … … 36 34 bin/la-sync-manager 37 35 bin/la-sync-process 36 bin/la-test-mail 38 37 bin/la-warn-expire 39 bin/la-sql-edit-form40 bin/la-test-mail41 38 etc/cron.d/latmos-accounts 42 39 etc/init.d/la-sync-manager 43 40 etc/sysconfig/latmos-accounts 44 41 latmos-accounts.spec.in 42 lib/LATMOS/Accounts/Acls/Acl.pm 45 43 lib/LATMOS/Accounts/Acls.pm 46 lib/LATMOS/Accounts/Acls/Acl.pm47 44 lib/LATMOS/Accounts/Bases/Ad/Group.pm 48 lib/LATMOS/Accounts/Bases/Ad/User.pm49 45 lib/LATMOS/Accounts/Bases/Ad/objects.pm 50 46 lib/LATMOS/Accounts/Bases/Ad.pm 47 lib/LATMOS/Accounts/Bases/Ad/User.pm 51 48 lib/LATMOS/Accounts/Bases/Attributes.pm 49 lib/LATMOS/Accounts/Bases/Dummy.pm 52 50 lib/LATMOS/Accounts/Bases/Dummy/User.pm 53 lib/LATMOS/Accounts/Bases/ Dummy.pm51 lib/LATMOS/Accounts/Bases/Heimdal.pm 54 52 lib/LATMOS/Accounts/Bases/Heimdal/User.pm 55 lib/LATMOS/Accounts/Bases/Heimdal.pm56 53 lib/LATMOS/Accounts/Bases/Ldap/Group.pm 54 lib/LATMOS/Accounts/Bases/Ldap/objects.pm 57 55 lib/LATMOS/Accounts/Bases/Ldap/Onlyaddress.pm 56 lib/LATMOS/Accounts/Bases/Ldap.pm 58 57 lib/LATMOS/Accounts/Bases/Ldap/User.pm 59 lib/LATMOS/Accounts/Bases/Ldap/objects.pm60 lib/LATMOS/Accounts/Bases/Ldap.pm61 58 lib/LATMOS/Accounts/Bases/Mail/Aliases.pm 62 lib/LATMOS/Accounts/Bases/Mail/Revaliases.pm63 59 lib/LATMOS/Accounts/Bases/Mail/objects.pm 64 60 lib/LATMOS/Accounts/Bases/Mail.pm 61 lib/LATMOS/Accounts/Bases/Mail/Revaliases.pm 62 lib/LATMOS/Accounts/Bases/Objects.pm 63 lib/LATMOS/Accounts/Bases/OCHelper.pm 65 64 lib/LATMOS/Accounts/Bases/OCHelper/User.pm 66 lib/LATMOS/Accounts/Bases/OCHelper.pm 67 lib/LATMOS/Accounts/Bases/Objects.pm 65 lib/LATMOS/Accounts/Bases.pm 68 66 lib/LATMOS/Accounts/Bases/Sql/Accreq.pm 69 67 lib/LATMOS/Accounts/Bases/Sql/Address.pm … … 73 71 lib/LATMOS/Accounts/Bases/Sql/Nethost.pm 74 72 lib/LATMOS/Accounts/Bases/Sql/Netzone.pm 73 lib/LATMOS/Accounts/Bases/Sql/objects.pm 75 74 lib/LATMOS/Accounts/Bases/Sql/OCHelper/Accreq.pm 76 75 lib/LATMOS/Accounts/Bases/Sql/Onlyaddress.pm 76 lib/LATMOS/Accounts/Bases/Sql.pm 77 77 lib/LATMOS/Accounts/Bases/Sql/Revaliases.pm 78 78 lib/LATMOS/Accounts/Bases/Sql/Site.pm 79 79 lib/LATMOS/Accounts/Bases/Sql/Sutype.pm 80 80 lib/LATMOS/Accounts/Bases/Sql/User.pm 81 lib/LATMOS/Accounts/Bases/Sql/objects.pm82 lib/LATMOS/Accounts/Bases/Sql.pm83 81 lib/LATMOS/Accounts/Bases/Unix/Group.pm 82 lib/LATMOS/Accounts/Bases/Unix.pm 84 83 lib/LATMOS/Accounts/Bases/Unix/User.pm 85 lib/LATMOS/Accounts/Bases/Unix.pm86 lib/LATMOS/Accounts/Bases.pm87 84 lib/LATMOS/Accounts/BuildNet.pm 88 85 lib/LATMOS/Accounts/Cli.pm … … 90 87 lib/LATMOS/Accounts/Mail.pm 91 88 lib/LATMOS/Accounts/Maintenance.pm 92 lib/LATMOS/Accounts/SyncManager.pm 89 lib/LATMOS/Accounts.pm 90 lib/LATMOS/Accounts/SynchAccess/base.pm 93 91 lib/LATMOS/Accounts/SynchAccess/Objects.pm 94 lib/LATMOS/Accounts/SynchAccess/base.pm95 92 lib/LATMOS/Accounts/SynchAccess.pm 96 93 lib/LATMOS/Accounts/Synchro.pm 94 lib/LATMOS/Accounts/SyncManager.pm 97 95 lib/LATMOS/Accounts/Task/Automatedrequest.pm 98 96 lib/LATMOS/Accounts/Task/Basessynchro.pm … … 100 98 lib/LATMOS/Accounts/Task/Buildnet.pm 101 99 lib/LATMOS/Accounts/Task/Dummy.pm 100 lib/LATMOS/Accounts/Task.pm 102 101 lib/LATMOS/Accounts/Task/Refreshexpired.pm 103 lib/LATMOS/Accounts/Task.pm104 102 lib/LATMOS/Accounts/Utils.pm 105 lib/LATMOS/Accounts.pm 103 live-test/10_sql.t 104 live-test/20_ldap.t 105 live-test/30_ad.t 106 live-test/40_heimdal.t 107 live-test/90_scripts_run.t 108 live-test/91_scripts_run_help.t 109 live-test/common.pl 110 live-test/config.pl.sample 111 Makefile.PL 112 MANIFEST 106 113 man/man5/la-allowed-values.ini.pod 107 114 man/man5/la-sync-list.ini.pod 108 115 man/man5/la-sync-manager.ini.pod 109 116 man/man5/latmos-accounts.ini.pod 117 man/man8/latmos-accounts-base-ad.pod 118 man/man8/latmos-accounts-base-ldap.pod 119 man/man8/latmos-accounts-base-sql.pod 120 man/man8/latmos-accounts-base-unix.pod 121 man/man8/latmos-accounts-changes.pod 110 122 man/man8/latmos-accounts-faq.pod 111 123 man/man8/latmos-accounts.pod 112 man/man8/latmos-accounts-changes.pod113 124 patchset/no_useless_load.patch 125 README 114 126 sample/allowed_values.ini 115 127 sample/la-allowed-values.ini … … 123 135 sqldata/attributes.csv 124 136 sqldata/base.sql 125 man/man8/latmos-accounts-base-sql.pod 126 man/man8/latmos-accounts-base-ad.pod 127 man/man8/latmos-accounts-base-ldap.pod 128 man/man8/latmos-accounts-base-unix.pod 137 t/01_pod_coverage.t 138 t/01_pod.t 139 t/02_LATMOS-Accounts.t 129 140 t/05_utils.t 130 141 t/06_cli.t … … 143 154 t/26_la_synchaccess.t 144 155 t/30_la_task.t 145 t/02_LATMOS-Accounts.t 146 t/scripts.pl 156 templates/mail/account_expired_reminder.mail 147 157 templates/mail/account_expire.mail 148 templates/mail/account_expired_reminder.mail149 158 testdata/acls1 150 159 testdata/acls2 … … 165 174 testdata/synchro/source/passwd 166 175 testdata/synchro/source/shadow 167 live-test/10_sql.t 168 live-test/20_ldap.t 169 live-test/30_ad.t 170 live-test/40_heimdal.t 171 live-test/90_scripts_run.t 172 live-test/91_scripts_run_help.t 173 live-test/config.pl.sample 174 live-test/common.pl 176 TODO 177 t/scripts.pl -
trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Utils.pm
r1124 r1151 8 8 use LATMOS::Accounts::Log; 9 9 use File::Temp qw(tempfile); 10 use Crypt::Cracklib; 10 11 11 12 our $VERSION = (q$Rev$ =~ /^Rev: (\d+) /)[0]; … … 247 248 } 248 249 250 =head2 genpassword 251 252 =cut 253 254 sub genpassword { 255 my (%options) = @_; 256 my @non_alpha = (qw$; : / ! ( ) [ ] { } + = @ - " ' % * & . ? < >$, ',', '$'); 257 my @letters = ('a' .. 'z', 'A' .. 'Z', 0 .. 9); 258 259 my @consonants = qw(b d f g j k l m n r s t v x z ch); 260 my @vowels = qw(a e i o u ou oi io ia iu); 261 262 $options{length} ||= 6 + int(rand(3)); 263 264 while (1) { 265 if ($options{syllables}) { 266 $options{length} = int($options{length} / 2); 267 $options{length} = 3 if ($options{length} < 3); 268 } else { 269 $options{length} = 6 if ($options{length} < 6); 270 } 271 272 my @chars; 273 274 if ($options{nonalpha}) { 275 for(0 .. (0 + int(rand(3)))) { 276 push(@chars, (@non_alpha[rand(scalar(@non_alpha))])); 277 } 278 } 279 280 foreach (1 .. ($options{length} - scalar(@chars))) { 281 if ($options{syllables}) { 282 my $c = @consonants[rand(scalar(@consonants))]; 283 my $v = @vowels[rand(scalar(@vowels))]; 284 push(@chars, "$c$v"); 285 } else { 286 push(@chars, (@letters[rand(scalar(@letters))])); 287 } 288 } 289 290 291 my $pass = join('', sort { rand() <=> rand() } @chars); 292 if (length($pass) >= 6 && fascist_check($pass) eq 'ok') { 293 return $pass; 294 } 295 } 296 } 297 249 298 1; 250 299
Note: See TracChangeset
for help on using the changeset viewer.