mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-06-28 23:02:15 +00:00
SEC-606: Added support for customizable credentials character set.
This commit is contained in:
parent
36a192b70f
commit
c031588975
@ -93,6 +93,7 @@ public class BasicProcessingFilter extends SpringSecurityFilter implements Initi
|
|||||||
private AuthenticationManager authenticationManager;
|
private AuthenticationManager authenticationManager;
|
||||||
private RememberMeServices rememberMeServices;
|
private RememberMeServices rememberMeServices;
|
||||||
private boolean ignoreFailure = false;
|
private boolean ignoreFailure = false;
|
||||||
|
private String credentialsCharset = "UTF-8";
|
||||||
|
|
||||||
//~ Methods ========================================================================================================
|
//~ Methods ========================================================================================================
|
||||||
|
|
||||||
@ -114,8 +115,8 @@ public class BasicProcessingFilter extends SpringSecurityFilter implements Initi
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((header != null) && header.startsWith("Basic ")) {
|
if ((header != null) && header.startsWith("Basic ")) {
|
||||||
String base64Token = header.substring(6);
|
byte[] base64Token = header.substring(6).getBytes("UTF-8");
|
||||||
String token = new String(Base64.decodeBase64(base64Token.getBytes()));
|
String token = new String(Base64.decodeBase64(base64Token), getCredentialsCharset(httpRequest));
|
||||||
|
|
||||||
String username = "";
|
String username = "";
|
||||||
String password = "";
|
String password = "";
|
||||||
@ -235,6 +236,15 @@ public class BasicProcessingFilter extends SpringSecurityFilter implements Initi
|
|||||||
this.rememberMeServices = rememberMeServices;
|
this.rememberMeServices = rememberMeServices;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setCredentialsCharset(String credentialsCharset) {
|
||||||
|
Assert.hasText(credentialsCharset, "credentialsCharset cannot be null or empty");
|
||||||
|
this.credentialsCharset = credentialsCharset;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected String getCredentialsCharset(HttpServletRequest httpRequest) {
|
||||||
|
return credentialsCharset;
|
||||||
|
}
|
||||||
|
|
||||||
public int getOrder() {
|
public int getOrder() {
|
||||||
return FilterChainOrder.BASIC_PROCESSING_FILTER;
|
return FilterChainOrder.BASIC_PROCESSING_FILTER;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user