This project has retired. For details please refer to its
Attic page.
CharacterLengthPasswordRule xref
1 package org.apache.archiva.redback.policy.rules;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import org.apache.archiva.redback.configuration.UserConfigurationKeys;
20 import org.apache.archiva.redback.policy.PasswordRuleViolations;
21 import org.apache.archiva.redback.policy.UserSecurityPolicy;
22 import org.apache.archiva.redback.users.User;
23 import org.apache.commons.lang.StringUtils;
24 import org.springframework.stereotype.Service;
25
26 import javax.annotation.PostConstruct;
27
28
29
30
31
32
33
34 @Service( "passwordRule#character-length" )
35 public class CharacterLengthPasswordRule
36 extends AbstractPasswordRule
37 {
38
39 public static final int DEFAULT_CHARACTER_LENGTH_MAX = 8;
40
41 private int minimumCharacters;
42
43 private int maximumCharacters;
44
45 public int getMaximumCharacters()
46 {
47 return maximumCharacters;
48 }
49
50 public int getMinimumCharacters()
51 {
52 return minimumCharacters;
53 }
54
55 public void setMaximumCharacters( int maximumCharacters )
56 {
57 this.maximumCharacters = maximumCharacters;
58 }
59
60 public void setMinimumCharacters( int minimumCharacters )
61 {
62 this.minimumCharacters = minimumCharacters;
63 }
64
65 public void setUserSecurityPolicy( UserSecurityPolicy policy )
66 {
67
68 }
69
70 public void testPassword( PasswordRuleViolations violations, User user )
71 {
72 if ( minimumCharacters > maximumCharacters )
73 {
74
75
76 violations.addViolation( UserConfigurationKeys.CHARACTER_LENGTH_MISCONFIGURED_VIOLATION,
77 new String[]{ String.valueOf( minimumCharacters ),
78 String.valueOf( maximumCharacters ) } );
79 }
80
81 String password = user.getPassword();
82
83 if ( StringUtils.isEmpty( password ) || password.length() < minimumCharacters ||
84 password.length() > maximumCharacters )
85 {
86 violations.addViolation( UserConfigurationKeys.CHARACTER_LENGTH_VIOLATION,
87 new String[]{ String.valueOf( minimumCharacters ),
88 String.valueOf( maximumCharacters ) } );
89 }
90 }
91
92 @PostConstruct
93 public void initialize()
94 {
95 enabled = config.getBoolean( UserConfigurationKeys.POLICY_PASSWORD_RULE_CHARACTERLENGTH_ENABLED );
96 this.minimumCharacters = config.getInt( UserConfigurationKeys.CHARACTER_LENGTH_MIN );
97 this.maximumCharacters = config.getInt( UserConfigurationKeys.CHARACTER_LENGTH_MAX );
98 }
99 }