Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
5f8f0625
Commit
5f8f0625
authored
Sep 06, 2013
by
Dave Syer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Allow security.ignored=none to switch off ignores
parent
938c267a
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
38 additions
and
17 deletions
+38
-17
SecurityAutoConfiguration.java
...boot/actuate/autoconfigure/SecurityAutoConfiguration.java
+12
-2
SecurityProperties.java
...framework/boot/actuate/properties/SecurityProperties.java
+1
-13
SecurityAutoConfigurationTests.java
...actuate/autoconfigure/SecurityAutoConfigurationTests.java
+1
-1
SecurityPropertiesTests.java
...work/boot/actuate/properties/SecurityPropertiesTests.java
+24
-1
No files found.
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/SecurityAutoConfiguration.java
View file @
5f8f0625
...
@@ -128,6 +128,9 @@ public class SecurityAutoConfiguration {
...
@@ -128,6 +128,9 @@ public class SecurityAutoConfiguration {
private
static
class
ApplicationWebSecurityConfigurerAdapter
extends
private
static
class
ApplicationWebSecurityConfigurerAdapter
extends
WebSecurityConfigurerAdapter
{
WebSecurityConfigurerAdapter
{
private
static
List
<
String
>
DEFAULT_IGNORED
=
Arrays
.
asList
(
"/css/**"
,
"/js/**"
,
"/images/**"
,
"/**/favicon.ico"
);
@Autowired
@Autowired
private
SecurityProperties
security
;
private
SecurityProperties
security
;
...
@@ -187,10 +190,17 @@ public class SecurityAutoConfiguration {
...
@@ -187,10 +190,17 @@ public class SecurityAutoConfiguration {
@Override
@Override
public
void
configure
(
WebSecurity
builder
)
throws
Exception
{
public
void
configure
(
WebSecurity
builder
)
throws
Exception
{
IgnoredRequestConfigurer
ignoring
=
builder
.
ignoring
();
IgnoredRequestConfigurer
ignoring
=
builder
.
ignoring
();
ignoring
.
antMatchers
(
this
.
security
.
getIgnoredPaths
());
List
<
String
>
ignored
=
new
ArrayList
<
String
>(
this
.
security
.
getIgnored
());
if
(
ignored
.
isEmpty
())
{
ignored
.
addAll
(
DEFAULT_IGNORED
);
}
else
if
(
ignored
.
contains
(
"none"
))
{
ignored
.
remove
(
"none"
);
}
if
(
this
.
errorController
!=
null
)
{
if
(
this
.
errorController
!=
null
)
{
ignor
ing
.
antMatchers
(
this
.
errorController
.
getErrorPath
());
ignor
ed
.
add
(
this
.
errorController
.
getErrorPath
());
}
}
ignoring
.
antMatchers
(
ignored
.
toArray
(
new
String
[
0
]));
}
}
@Override
@Override
...
...
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/properties/SecurityProperties.java
View file @
5f8f0625
...
@@ -43,12 +43,7 @@ public class SecurityProperties {
...
@@ -43,12 +43,7 @@ public class SecurityProperties {
private
SessionCreationPolicy
sessions
=
SessionCreationPolicy
.
STATELESS
;
private
SessionCreationPolicy
sessions
=
SessionCreationPolicy
.
STATELESS
;
private
List
<
String
>
emptyIgnored
=
new
ArrayList
<
String
>();
private
List
<
String
>
ignored
=
new
ArrayList
<
String
>();
private
List
<
String
>
ignored
=
this
.
emptyIgnored
;
private
static
String
[]
DEFAULT_IGNORED
=
new
String
[]
{
"/css/**"
,
"/js/**"
,
"/images/**"
,
"/**/favicon.ico"
};
private
Management
management
=
new
Management
();
private
Management
management
=
new
Management
();
...
@@ -106,13 +101,6 @@ public class SecurityProperties {
...
@@ -106,13 +101,6 @@ public class SecurityProperties {
return
this
.
ignored
;
return
this
.
ignored
;
}
}
public
String
[]
getIgnoredPaths
()
{
if
(
this
.
ignored
==
this
.
emptyIgnored
)
{
return
DEFAULT_IGNORED
;
}
return
this
.
ignored
.
toArray
(
new
String
[
this
.
ignored
.
size
()]);
}
public
static
class
Headers
{
public
static
class
Headers
{
public
static
enum
HSTS
{
public
static
enum
HSTS
{
...
...
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/SecurityAutoConfigurationTests.java
View file @
5f8f0625
...
@@ -64,7 +64,7 @@ public class SecurityAutoConfigurationTests {
...
@@ -64,7 +64,7 @@ public class SecurityAutoConfigurationTests {
EndpointAutoConfiguration
.
class
,
EndpointAutoConfiguration
.
class
,
ManagementServerPropertiesAutoConfiguration
.
class
,
ManagementServerPropertiesAutoConfiguration
.
class
,
PropertyPlaceholderAutoConfiguration
.
class
);
PropertyPlaceholderAutoConfiguration
.
class
);
TestUtils
.
addEnviroment
(
this
.
context
,
"security.ignored:"
);
TestUtils
.
addEnviroment
(
this
.
context
,
"security.ignored:
none
"
);
this
.
context
.
refresh
();
this
.
context
.
refresh
();
// Just the application and\ management endpoints now
// Just the application and\ management endpoints now
assertEquals
(
2
,
this
.
context
.
getBean
(
FilterChainProxy
.
class
).
getFilterChains
()
assertEquals
(
2
,
this
.
context
.
getBean
(
FilterChainProxy
.
class
).
getFilterChains
()
...
...
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/properties/SecurityPropertiesTests.java
View file @
5f8f0625
...
@@ -46,6 +46,28 @@ public class SecurityPropertiesTests {
...
@@ -46,6 +46,28 @@ public class SecurityPropertiesTests {
assertEquals
(
1
,
security
.
getIgnored
().
size
());
assertEquals
(
1
,
security
.
getIgnored
().
size
());
}
}
@Test
public
void
testBindingIgnoredEmpty
()
{
SecurityProperties
security
=
new
SecurityProperties
();
RelaxedDataBinder
binder
=
new
RelaxedDataBinder
(
security
,
"security"
);
binder
.
setConversionService
(
new
DefaultConversionService
());
binder
.
bind
(
new
MutablePropertyValues
(
Collections
.
singletonMap
(
"security.ignored"
,
""
)));
assertFalse
(
binder
.
getBindingResult
().
hasErrors
());
assertEquals
(
0
,
security
.
getIgnored
().
size
());
}
@Test
public
void
testBindingIgnoredDisable
()
{
SecurityProperties
security
=
new
SecurityProperties
();
RelaxedDataBinder
binder
=
new
RelaxedDataBinder
(
security
,
"security"
);
binder
.
setConversionService
(
new
DefaultConversionService
());
binder
.
bind
(
new
MutablePropertyValues
(
Collections
.
singletonMap
(
"security.ignored"
,
"none"
)));
assertFalse
(
binder
.
getBindingResult
().
hasErrors
());
assertEquals
(
1
,
security
.
getIgnored
().
size
());
}
@Test
@Test
public
void
testBindingIgnoredMultiValued
()
{
public
void
testBindingIgnoredMultiValued
()
{
SecurityProperties
security
=
new
SecurityProperties
();
SecurityProperties
security
=
new
SecurityProperties
();
...
@@ -64,10 +86,11 @@ public class SecurityPropertiesTests {
...
@@ -64,10 +86,11 @@ public class SecurityPropertiesTests {
binder
.
setConversionService
(
new
DefaultConversionService
());
binder
.
setConversionService
(
new
DefaultConversionService
());
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>();
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>();
map
.
put
(
"security.ignored[0]"
,
"/css/**"
);
map
.
put
(
"security.ignored[0]"
,
"/css/**"
);
map
.
put
(
"security.ignored[1]"
,
"
images
/**"
);
map
.
put
(
"security.ignored[1]"
,
"
/foo
/**"
);
binder
.
bind
(
new
MutablePropertyValues
(
map
));
binder
.
bind
(
new
MutablePropertyValues
(
map
));
assertFalse
(
binder
.
getBindingResult
().
hasErrors
());
assertFalse
(
binder
.
getBindingResult
().
hasErrors
());
assertEquals
(
2
,
security
.
getIgnored
().
size
());
assertEquals
(
2
,
security
.
getIgnored
().
size
());
assertTrue
(
security
.
getIgnored
().
contains
(
"/foo/**"
));
}
}
@Test
@Test
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment