View Javadoc
1   package org.apache.archiva.web.rss;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *  http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import org.apache.archiva.redback.authentication.AuthenticationDataSource;
23  import org.apache.archiva.redback.authentication.AuthenticationException;
24  import org.apache.archiva.redback.authentication.AuthenticationResult;
25  import org.apache.archiva.redback.authentication.TokenManager;
26  import org.apache.archiva.redback.authorization.AuthorizationException;
27  import org.apache.archiva.redback.authorization.AuthorizationResult;
28  import org.apache.archiva.redback.keys.KeyManager;
29  import org.apache.archiva.redback.policy.AccountLockedException;
30  import org.apache.archiva.redback.policy.UserSecurityPolicy;
31  import org.apache.archiva.redback.system.DefaultSecuritySession;
32  import org.apache.archiva.redback.system.SecuritySession;
33  import org.apache.archiva.redback.system.SecuritySystem;
34  import org.apache.archiva.redback.users.User;
35  import org.apache.archiva.redback.users.UserManager;
36  import org.apache.archiva.redback.users.UserManagerException;
37  import org.apache.archiva.redback.users.UserManagerListener;
38  import org.apache.archiva.redback.users.UserNotFoundException;
39  import org.apache.archiva.redback.users.UserQuery;
40  import org.apache.archiva.redback.users.jdo.JdoUser;
41  
42  import java.util.ArrayList;
43  import java.util.Date;
44  import java.util.HashMap;
45  import java.util.List;
46  import java.util.Map;
47  
48  /**
49   * SecuritySystem stub used for testing.
50   */
51  public class SecuritySystemStub
52      implements SecuritySystem
53  {
54      Map<String, String> users = new HashMap<>();
55  
56      List<String> repoIds = new ArrayList<>();
57  
58      public SecuritySystemStub()
59      {
60          users.put( "user1", "password1" );
61          users.put( "user2", "password2" );
62          users.put( "user3", "password3" );
63  
64          repoIds.add( "test-repo" );
65      }
66  
67      @Override
68      public SecuritySession authenticate( AuthenticationDataSource source )
69          throws AuthenticationException, UserNotFoundException, AccountLockedException
70      {
71          AuthenticationResult result = null;
72          SecuritySession session = null;
73  
74          if ( users.get( source.getUsername() ) != null )
75          {
76              result = new AuthenticationResult( true, source.getUsername(), null );
77  
78              User user = new JdoUser();
79              user.setUsername( source.getUsername() );
80              user.setPassword( users.get( source.getUsername() ) );
81  
82              session = new DefaultSecuritySession( result, user );
83          }
84          else
85          {
86              result = new AuthenticationResult( false, source.getUsername(), null );
87              session = new DefaultSecuritySession( result );
88          }
89          return session;
90      }
91  
92      @Override
93      public AuthorizationResult authorize( SecuritySession arg0, String arg1 )
94          throws AuthorizationException
95      {
96          return null;
97      }
98  
99      @Override
100     public AuthorizationResult authorize( SecuritySession arg0, String permission, String repositoryId )
101         throws AuthorizationException
102     {
103 
104         AuthorizationResult result = new AuthorizationResult( this.repoIds.contains( repositoryId ), permission, null );
105         return result;
106     }
107 
108     @Override
109     public AuthorizationResult authorize( User user, String permission, String resource )
110         throws AuthorizationException
111     {
112         return null;
113     }
114 
115     public String getAuthenticatorId()
116     {
117         return null;
118     }
119 
120     public String getAuthorizerId()
121     {
122         return null;
123     }
124 
125     @Override
126     public KeyManager getKeyManager()
127     {
128         return null;
129     }
130 
131     @Override
132     public UserSecurityPolicy getPolicy()
133     {
134         return null;
135     }
136 
137     public String getUserManagementId()
138     {
139         return null;
140     }
141 
142     @Override
143     public UserManager getUserManager()
144     {
145         return new UserManager()
146         {
147 
148             @Override
149             public String getDescriptionKey()
150             {
151                 return "French wine is better than Australian wine !";
152             }
153 
154             @Override
155             public boolean isFinalImplementation()
156             {
157                 return false;
158             }
159 
160             @Override
161             public void initialize()
162             {
163                 // no op
164             }
165 
166             @Override
167             public boolean isReadOnly()
168             {
169                 return false;
170             }
171 
172             @Override
173             public String getId()
174             {
175                 return null;
176             }
177 
178             @Override
179             public void addUserManagerListener( UserManagerListener listener )
180             {
181                 // no op
182             }
183 
184             @Override
185             public void removeUserManagerListener( UserManagerListener listener )
186             {
187                 // no op
188             }
189 
190             @Override
191             public User createUser( String username, String fullName, String emailAddress )
192             {
193                 return null;
194             }
195 
196             @Override
197             public User createGuestUser()
198             {
199                 return new User()
200                 {
201 
202                     @Override
203                     public String getUsername()
204                     {
205                         return "guest";
206                     }
207 
208                     @Override
209                     public void setUsername( String name )
210                     {
211 
212                     }
213 
214                     @Override
215                     public String getFullName()
216                     {
217                         return null;
218                     }
219 
220                     @Override
221                     public void setFullName( String name )
222                     {
223                         //To change body of implemented methods use File | Settings | File Templates.
224                     }
225 
226                     @Override
227                     public String getEmail()
228                     {
229                         return null;  //To change body of implemented methods use File | Settings | File Templates.
230                     }
231 
232                     @Override
233                     public void setEmail( String address )
234                     {
235                         //To change body of implemented methods use File | Settings | File Templates.
236                     }
237 
238                     @Override
239                     public String getPassword()
240                     {
241                         return null;  //To change body of implemented methods use File | Settings | File Templates.
242                     }
243 
244                     @Override
245                     public void setPassword( String rawPassword )
246                     {
247                         //To change body of implemented methods use File | Settings | File Templates.
248                     }
249 
250                     @Override
251                     public String getEncodedPassword()
252                     {
253                         return null;  //To change body of implemented methods use File | Settings | File Templates.
254                     }
255 
256                     @Override
257                     public void setEncodedPassword( String encodedPassword )
258                     {
259                         //To change body of implemented methods use File | Settings | File Templates.
260                     }
261 
262                     @Override
263                     public Date getLastPasswordChange()
264                     {
265                         return null;  //To change body of implemented methods use File | Settings | File Templates.
266                     }
267 
268                     @Override
269                     public void setLastPasswordChange( Date passwordChangeDate )
270                     {
271                         //To change body of implemented methods use File | Settings | File Templates.
272                     }
273 
274                     @Override
275                     public List<String> getPreviousEncodedPasswords()
276                     {
277                         return null;  //To change body of implemented methods use File | Settings | File Templates.
278                     }
279 
280                     @Override
281                     public void setPreviousEncodedPasswords( List<String> encodedPasswordList )
282                     {
283                         //To change body of implemented methods use File | Settings | File Templates.
284                     }
285 
286                     @Override
287                     public void addPreviousEncodedPassword( String encodedPassword )
288                     {
289                         //To change body of implemented methods use File | Settings | File Templates.
290                     }
291 
292                     @Override
293                     public boolean isPermanent()
294                     {
295                         return false;  //To change body of implemented methods use File | Settings | File Templates.
296                     }
297 
298                     @Override
299                     public void setPermanent( boolean permanent )
300                     {
301                         //To change body of implemented methods use File | Settings | File Templates.
302                     }
303 
304                     @Override
305                     public boolean isLocked()
306                     {
307                         return false;  //To change body of implemented methods use File | Settings | File Templates.
308                     }
309 
310                     @Override
311                     public void setLocked( boolean locked )
312                     {
313                         //To change body of implemented methods use File | Settings | File Templates.
314                     }
315 
316                     @Override
317                     public boolean isPasswordChangeRequired()
318                     {
319                         return false;  //To change body of implemented methods use File | Settings | File Templates.
320                     }
321 
322                     @Override
323                     public void setPasswordChangeRequired( boolean changeRequired )
324                     {
325                         //To change body of implemented methods use File | Settings | File Templates.
326                     }
327 
328                     @Override
329                     public boolean isValidated()
330                     {
331                         return false;  //To change body of implemented methods use File | Settings | File Templates.
332                     }
333 
334                     @Override
335                     public void setValidated( boolean valid )
336                     {
337                         //To change body of implemented methods use File | Settings | File Templates.
338                     }
339 
340                     @Override
341                     public int getCountFailedLoginAttempts()
342                     {
343                         return 0;  //To change body of implemented methods use File | Settings | File Templates.
344                     }
345 
346                     @Override
347                     public void setCountFailedLoginAttempts( int count )
348                     {
349                         //To change body of implemented methods use File | Settings | File Templates.
350                     }
351 
352                     @Override
353                     public Date getAccountCreationDate()
354                     {
355                         return null;  //To change body of implemented methods use File | Settings | File Templates.
356                     }
357 
358                     @Override
359                     public void setAccountCreationDate( Date date )
360                     {
361                         //To change body of implemented methods use File | Settings | File Templates.
362                     }
363 
364                     @Override
365                     public Date getLastLoginDate()
366                     {
367                         return null;  //To change body of implemented methods use File | Settings | File Templates.
368                     }
369 
370                     @Override
371                     public void setLastLoginDate( Date date )
372                     {
373                         //To change body of implemented methods use File | Settings | File Templates.
374                     }
375 
376                     @Override
377                     public String getUserManagerId()
378                     {
379                         return "mock";
380                     }
381                 };
382             }
383 
384             @Override
385             public UserQuery createUserQuery()
386             {
387                 return null;  //To change body of implemented methods use File | Settings | File Templates.
388             }
389 
390             @Override
391             public List<User> getUsers()
392             {
393                 return null;  //To change body of implemented methods use File | Settings | File Templates.
394             }
395 
396             @Override
397             public List<User> getUsers( boolean orderAscending )
398             {
399                 return null;  //To change body of implemented methods use File | Settings | File Templates.
400             }
401 
402             @Override
403             public User addUser( User user )
404             {
405                 return null;  //To change body of implemented methods use File | Settings | File Templates.
406             }
407 
408             @Override
409             public User updateUser( User user )
410                 throws UserNotFoundException
411             {
412                 return null;  //To change body of implemented methods use File | Settings | File Templates.
413             }
414 
415             @Override
416             public User findUser( String username )
417                 throws UserNotFoundException
418             {
419                 return null;  //To change body of implemented methods use File | Settings | File Templates.
420             }
421 
422             @Override
423             public User findUser( String username, boolean useCache )
424                 throws UserNotFoundException, UserManagerException
425             {
426                 return null;
427             }
428 
429             @Override
430             public User getGuestUser()
431                 throws UserNotFoundException
432             {
433                 return new User()
434                 {
435 
436                     @Override
437                     public String getUsername()
438                     {
439                         return "guest";
440                     }
441 
442                     @Override
443                     public void setUsername( String name )
444                     {
445 
446                     }
447 
448                     @Override
449                     public String getFullName()
450                     {
451                         return null;  //To change body of implemented methods use File | Settings | File Templates.
452                     }
453 
454                     @Override
455                     public void setFullName( String name )
456                     {
457                         //To change body of implemented methods use File | Settings | File Templates.
458                     }
459 
460                     @Override
461                     public String getEmail()
462                     {
463                         return null;  //To change body of implemented methods use File | Settings | File Templates.
464                     }
465 
466                     @Override
467                     public void setEmail( String address )
468                     {
469                         //To change body of implemented methods use File | Settings | File Templates.
470                     }
471 
472                     @Override
473                     public String getPassword()
474                     {
475                         return null;  //To change body of implemented methods use File | Settings | File Templates.
476                     }
477 
478                     @Override
479                     public void setPassword( String rawPassword )
480                     {
481                         //To change body of implemented methods use File | Settings | File Templates.
482                     }
483 
484                     @Override
485                     public String getEncodedPassword()
486                     {
487                         return null;  //To change body of implemented methods use File | Settings | File Templates.
488                     }
489 
490                     @Override
491                     public void setEncodedPassword( String encodedPassword )
492                     {
493                         //To change body of implemented methods use File | Settings | File Templates.
494                     }
495 
496                     @Override
497                     public Date getLastPasswordChange()
498                     {
499                         return null;  //To change body of implemented methods use File | Settings | File Templates.
500                     }
501 
502                     @Override
503                     public void setLastPasswordChange( Date passwordChangeDate )
504                     {
505                         //To change body of implemented methods use File | Settings | File Templates.
506                     }
507 
508                     @Override
509                     public List<String> getPreviousEncodedPasswords()
510                     {
511                         return null;  //To change body of implemented methods use File | Settings | File Templates.
512                     }
513 
514                     @Override
515                     public void setPreviousEncodedPasswords( List<String> encodedPasswordList )
516                     {
517                         //To change body of implemented methods use File | Settings | File Templates.
518                     }
519 
520                     @Override
521                     public void addPreviousEncodedPassword( String encodedPassword )
522                     {
523                         //To change body of implemented methods use File | Settings | File Templates.
524                     }
525 
526                     @Override
527                     public boolean isPermanent()
528                     {
529                         return false;  //To change body of implemented methods use File | Settings | File Templates.
530                     }
531 
532                     @Override
533                     public void setPermanent( boolean permanent )
534                     {
535                         //To change body of implemented methods use File | Settings | File Templates.
536                     }
537 
538                     @Override
539                     public boolean isLocked()
540                     {
541                         return false;  //To change body of implemented methods use File | Settings | File Templates.
542                     }
543 
544                     @Override
545                     public void setLocked( boolean locked )
546                     {
547                         //To change body of implemented methods use File | Settings | File Templates.
548                     }
549 
550                     @Override
551                     public boolean isPasswordChangeRequired()
552                     {
553                         return false;  //To change body of implemented methods use File | Settings | File Templates.
554                     }
555 
556                     @Override
557                     public void setPasswordChangeRequired( boolean changeRequired )
558                     {
559                         //To change body of implemented methods use File | Settings | File Templates.
560                     }
561 
562                     @Override
563                     public boolean isValidated()
564                     {
565                         return false;  //To change body of implemented methods use File | Settings | File Templates.
566                     }
567 
568                     @Override
569                     public void setValidated( boolean valid )
570                     {
571                         //To change body of implemented methods use File | Settings | File Templates.
572                     }
573 
574                     @Override
575                     public int getCountFailedLoginAttempts()
576                     {
577                         return 0;  //To change body of implemented methods use File | Settings | File Templates.
578                     }
579 
580                     @Override
581                     public void setCountFailedLoginAttempts( int count )
582                     {
583                         //To change body of implemented methods use File | Settings | File Templates.
584                     }
585 
586                     @Override
587                     public Date getAccountCreationDate()
588                     {
589                         return null;  //To change body of implemented methods use File | Settings | File Templates.
590                     }
591 
592                     @Override
593                     public void setAccountCreationDate( Date date )
594                     {
595                         //To change body of implemented methods use File | Settings | File Templates.
596                     }
597 
598                     @Override
599                     public Date getLastLoginDate()
600                     {
601                         return null;  //To change body of implemented methods use File | Settings | File Templates.
602                     }
603 
604                     @Override
605                     public void setLastLoginDate( Date date )
606                     {
607                         //To change body of implemented methods use File | Settings | File Templates.
608                     }
609 
610                     @Override
611                     public String getUserManagerId()
612                     {
613                         return "mock";
614                     }
615                 };
616             }
617 
618             @Override
619             public List<User> findUsersByUsernameKey( String usernameKey, boolean orderAscending )
620             {
621                 return null;  //To change body of implemented methods use File | Settings | File Templates.
622             }
623 
624             @Override
625             public List<User> findUsersByFullNameKey( String fullNameKey, boolean orderAscending )
626             {
627                 return null;  //To change body of implemented methods use File | Settings | File Templates.
628             }
629 
630             @Override
631             public List<User> findUsersByEmailKey( String emailKey, boolean orderAscending )
632             {
633                 return null;  //To change body of implemented methods use File | Settings | File Templates.
634             }
635 
636             @Override
637             public List<User> findUsersByQuery( UserQuery query )
638             {
639                 return null;  //To change body of implemented methods use File | Settings | File Templates.
640             }
641 
642             @Override
643             public boolean userExists( String principal )
644             {
645                 return false;  //To change body of implemented methods use File | Settings | File Templates.
646             }
647 
648             @Override
649             public void deleteUser( String username )
650                 throws UserNotFoundException
651             {
652                 //To change body of implemented methods use File | Settings | File Templates.
653             }
654 
655             @Override
656             public void addUserUnchecked( User user )
657             {
658                 //To change body of implemented methods use File | Settings | File Templates.
659             }
660 
661             @Override
662             public void eraseDatabase()
663             {
664                 //To change body of implemented methods use File | Settings | File Templates.
665             }
666 
667             @Override
668             public User updateUser( User user, boolean passwordChangeRequired )
669                 throws UserNotFoundException
670             {
671                 return null;  //To change body of implemented methods use File | Settings | File Templates.
672             }
673         };
674     }
675 
676     @Override
677     public boolean isAuthenticated( AuthenticationDataSource arg0 )
678         throws AuthenticationException, UserNotFoundException, AccountLockedException
679     {
680         return false;
681     }
682 
683     @Override
684     public boolean isAuthorized( SecuritySession arg0, String arg1 )
685         throws AuthorizationException
686     {
687         return false;
688     }
689 
690     @Override
691     public boolean isAuthorized( SecuritySession arg0, String arg1, String arg2 )
692         throws AuthorizationException
693     {
694         if ( repoIds.contains( arg2 ) )
695         {
696             return true;
697         }
698 
699         return false;
700     }
701 
702     @Override
703     public boolean userManagerReadOnly()
704     {
705         return true;
706     }
707 
708     @Override
709     public TokenManager getTokenManager() {
710         return null;
711     }
712 }