e代剑客——温柔一刀

生活就像海洋,只有意志坚强的人,才能到达彼岸

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  76 随笔 :: 7 文章 :: 215 评论 :: 0 Trackbacks

使用Acegi 1.0获取用户信息,

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  ThreadLocaTest  {
 
 
/**
    * 取得当前用户名
    * 
    
*/

   
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 ;
   }

}


posted on 2006-09-29 15:17 温柔一刀 阅读(722) 评论(3)  编辑  收藏 所属分类: 开源框架

评论

# re: 使用Acegi 1.0获取用户信息[未登录] 2008-04-22 16:49 rain
为什么我登入成功,Authentication auth = ctx.getAuthentication();
这个为空的呢..我是用struts2  回复  更多评论
  

# re: 使用Acegi 1.0获取用户信息 2008-06-16 13:55 xx
我也是null  回复  更多评论
  

# re: 使用Acegi 1.0获取用户信息 2008-08-06 15:57 jinshan
我的也是null,请指教!fujinshan_403@163.com,谢谢  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航:
 
联系偶 zhupanjava@gmail.com 温柔一刀