瀏覽代碼

AbstractAuthenticationToken.getName() now returns username alone if UserDetails present.

Ben Alex 20 年之前
父節點
當前提交
d169829f27

+ 6 - 1
core/src/main/java/org/acegisecurity/providers/AbstractAuthenticationToken.java

@@ -1,4 +1,4 @@
-/* Copyright 2004 Acegi Technology Pty Limited
+/* Copyright 2004, 2005 Acegi Technology Pty Limited
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
 package net.sf.acegisecurity.providers;
 
 import net.sf.acegisecurity.Authentication;
+import net.sf.acegisecurity.UserDetails;
 
 
 /**
@@ -38,6 +39,10 @@ public abstract class AbstractAuthenticationToken implements Authentication {
     }
 
     public String getName() {
+        if (this.getPrincipal() instanceof UserDetails) {
+            return ((UserDetails) this.getPrincipal()).getUsername();
+        }
+
         return this.getPrincipal().toString();
     }
 

+ 1 - 0
doc/xdocs/changes.xml

@@ -27,6 +27,7 @@
   <body>
     <release version="0.9.0" date="In CVS">
       <action dev="benalex" type="update">AnonymousProcessingFilter offers protected method to control when it should execute</action>
+      <action dev="benalex" type="fix">AbstractAuthenticationToken.getName() now returns username alone if UserDetails present</action>
       <action dev="raykrueger" type="update">AuthorityGranter.grant now returns a java.util.Set of role names, instead of a single role name</action>  
     </release>
     <release version="0.8.2" date="2005-04-20">