usermanagement.java

来自「Java开发的权限管理的例子」· Java 代码 · 共 92 行

JAVA
92
字号
package org.artemis.manager.common;
import org.acegisecurity.Authentication;   
import org.acegisecurity.context.SecurityContext;   
import org.acegisecurity.context.SecurityContextHolder;   
import org.acegisecurity.ui.WebAuthenticationDetails;   
import org.acegisecurity.userdetails.UserDetails; 
public class UserManagement {
	
	/** */  
	   /**  
	    * 取得当前用户名  
	    *   
	    */  
	   public static String getUsername() {   
	       SecurityContext ctx = SecurityContextHolder.getContext();   
	       if (ctx != null) {   
	           Authentication auth = ctx.getAuthentication();   
	           if (auth != null) {   
	               Object principal = auth.getPrincipal();   
	               if (principal instanceof UserDetails) {   
	                   return ((UserDetails) principal).getUsername();   
	               } else {   
	                   return principal.toString();   
	               }   
	           }   
	       }   
	       return null;   
	   }   
	 
	   /** */  
	   /**  
	    * 取得当前用户密码  
	    *   
	    */  
	   public static String getPassword() {   
	       SecurityContext ctx = SecurityContextHolder.getContext();   
	       if (ctx != null) {   
	           Authentication auth = ctx.getAuthentication();   
	           if (auth != null) {   
	               Object principal = auth.getPrincipal();   
	               if (principal instanceof UserDetails) {   
	                   return ((UserDetails) principal).getPassword();   
	               } else {   
	                   return null;   
	               }   
	           }   
	 
	       }   
	       return null;   
	   }   
	 
	   /** */  
	   /**  
	    * 取得当前用户SessionId  
	    *   
	    */  
	   public static String getSessionID() {   
	       SecurityContext ctx = SecurityContextHolder.getContext();   
	       if (ctx != null) {   
	           if (ctx instanceof SecurityContext) {   
	               SecurityContext sc = (SecurityContext) ctx;   
	               Authentication auth = sc.getAuthentication();   
	               if (auth != null) {   
	                   Object details = auth.getDetails();   
	                   if (details instanceof WebAuthenticationDetails) {   
	                       return ((WebAuthenticationDetails) details)   
	                               .getSessionId();   
	                   } else {   
	                       return null;   
	                   }   
	               }   
	           }   
	       }   
	       return null;   
	   }   
	  

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		UserManagement um=new UserManagement();
		System.out.println(um.getUsername());
		System.out.println(um.getPassword());
		System.out.println(um.getSessionID());


	}
	

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?