File Source: defaultuserdetailsservice.java
1 package net.sourceforge.pebble.security;
2
3 import org.acegisecurity.userdetails.UserDetails;
4 import org.acegisecurity.userdetails.UserDetailsService;
5 import org.acegisecurity.userdetails.UsernameNotFoundException;
6 import org.apache.commons.logging.Log;
7 import org.apache.commons.logging.LogFactory;
8
9 /**
10 * Implementation of the UserDetailsService that gets authentication
11 * credentials from a SecurityRealm implementation.
12 *
13 * @author Simon Brown
14 */
/*
P/P * Method: void net.sourceforge.pebble.security.DefaultUserDetailsService()
*/
15 public class DefaultUserDetailsService implements UserDetailsService {
16
/*
P/P * Method: net.sourceforge.pebble.security.DefaultUserDetailsService__static_init
*
* Postconditions:
* init'ed(log)
*/
17 private static final Log log = LogFactory.getLog(DefaultUserDetailsService.class);
18
19 private SecurityRealm securityRealm;
20
21 /**
22 * Looks up and returns user details for the given username.
23 *
24 * @param username the username to find details for
25 * @return a PebbleUserDetails instance
26 * @throws org.acegisecurity.userdetails.UsernameNotFoundException
27 */
28 public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
29 try {
/*
P/P * Method: UserDetails loadUserByUsername(String)
*
* Preconditions:
* this.securityRealm != null
* this.securityRealm.configuration != null
*
* Presumptions:
* java.io.File:exists(...)@103 == 1
* java.util.Iterator:hasNext(...)@126 == 0
*
* Postconditions:
* return_value == &new PebbleUserDetails(getUser#4)
* new HashMap(PebbleUserDetails#1) num objects == 1
* new HashMap(getUser#3) num objects == 1
* new PebbleUserDetails(getUser#4) num objects == 1
* init'ed(new PebbleUserDetails(getUser#4).detailsUpdateable)
* init'ed(new PebbleUserDetails(getUser#4).emailAddress)
* init'ed(new PebbleUserDetails(getUser#4).grantedAuthories)
* init'ed(new PebbleUserDetails(getUser#4).name)
* init'ed(new PebbleUserDetails(getUser#4).password)
* new PebbleUserDetails(getUser#4).preferences == &new HashMap(getUser#3)
* ...
*/
30 PebbleUserDetails user = securityRealm.getUser(username);
31 if (user == null) {
32 throw new UsernameNotFoundException("A user with username " + username + " does not exist");
33 } else {
34 return user;
35 }
36 } catch (SecurityRealmException e) {
37 throw new UsernameNotFoundException("User details not found", e);
38 }
39 }
40
41 public SecurityRealm getSecurityRealm() {
/*
P/P * Method: SecurityRealm getSecurityRealm()
*
* Preconditions:
* init'ed(this.securityRealm)
*
* Postconditions:
* return_value == this.securityRealm
* init'ed(return_value)
*/
42 return securityRealm;
43 }
44
45 public void setSecurityRealm(SecurityRealm securityRealm) {
/*
P/P * Method: void setSecurityRealm(SecurityRealm)
*
* Postconditions:
* this.securityRealm == securityRealm
* init'ed(this.securityRealm)
*/
46 this.securityRealm = securityRealm;
47 }
48
49 }
SofCheck Inspector Build Version : 2.22510
| defaultuserdetailsservice.java |
2010-Jun-25 19:40:32 |
| defaultuserdetailsservice.class |
2010-Jul-19 20:23:38 |