1 /*
2 * Copyright 2005-2007 The Kuali Foundation
3 *
4 *
5 * Licensed under the Educational Community License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.opensource.org/licenses/ecl2.php
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17 package org.kuali.rice.ksb.security.credentials;
18
19 import org.kuali.rice.core.api.security.credentials.Credentials;
20 import org.kuali.rice.core.api.security.credentials.CredentialsSource;
21 import org.kuali.rice.core.api.security.credentials.CredentialsType;
22 import org.springframework.util.Assert;
23
24 /**
25 * Implementation of a CredentialsSource that contains a username and password.
26 * <p>
27 * Note that this implementation is for service-to-service authentication. It
28 * cannot handle user-to-service authentication.
29 *
30 * @author Kuali Rice Team (rice.collab@kuali.org)
31 * @since 0.9
32 */
33 public final class UsernamePasswordCredentialsSource implements CredentialsSource {
34
35 /** The username. */
36 private final String username;
37
38 /** The password. */
39 private final String password;
40
41 public Credentials getCredentials(final String serviceEndpoint) {
42 return new UsernamePasswordCredentials(username, password);
43 }
44
45 /**
46 * Constructor that accepts the username and password for which to construct
47 * UsernamePasswordAuthenticationToken's from.
48 *
49 * @param username the username.
50 * @param password the password.
51 */
52 public UsernamePasswordCredentialsSource(final String username,
53 final String password) {
54 Assert.notNull(username, "username cannot be null.");
55 Assert.notNull(password, "password cannote be null.");
56
57 this.username = username;
58 this.password = password;
59 }
60
61 public CredentialsType getSupportedCredentialsType() {
62 return CredentialsType.USERNAME_PASSWORD;
63 }
64 }