1 /**
2 * Copyright 2010 The Kuali Foundation Licensed under the
3 * Educational Community License, Version 2.0 (the "License"); you may
4 * not use this file except in compliance with the License. You may
5 * obtain a copy of the License at
6 *
7 * http://www.osedu.org/licenses/ECL-2.0
8 *
9 * Unless required by applicable law or agreed to in writing,
10 * software distributed under the License is distributed on an "AS IS"
11 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12 * or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15
16 package org.kuali.student.common.util.security;
17
18 import org.springframework.security.Authentication;
19 import org.springframework.security.context.SecurityContextHolder;
20 import org.springframework.security.userdetails.UserDetails;
21
22 public class SecurityUtils {
23
24 /**
25 * This can be used to get the current user id from security context
26 *
27 * @return userId
28 */
29 public static String getCurrentUserId() {
30 String principalID=null;
31 Authentication auth = SecurityContextHolder.getContext().getAuthentication();
32 if(auth!=null){
33 Object obj = auth.getPrincipal();
34 if(obj instanceof UserWithId){
35 //This is actually the user's Principal Id
36 principalID = ((UserWithId)obj).getUserId();
37 }
38 // else if (obj instanceof UserDetails) {
39 // username = ((UserDetails)obj).getUsername();
40 // } else {
41 // username = obj.toString();
42 // }
43 }
44 return principalID;
45 }
46
47 public static String getPrincipalUserName(){
48 String username = "unknown";
49
50 Authentication auth = SecurityContextHolder.getContext().getAuthentication();
51
52 if (auth != null) {
53 Object obj = auth.getPrincipal();
54 if (obj instanceof UserDetails) {
55 username = ((UserDetails)obj).getUsername();
56 } else {
57 username = obj.toString();
58 }
59 }
60
61 return username;
62 }
63
64 }