Skip to content

Commit e958ff2

Browse files
Kehrlannrwinch
authored andcommitted
Use static CSS in reactive default UI
1 parent 45d5397 commit e958ff2

File tree

4 files changed

+5
-256
lines changed

4 files changed

+5
-256
lines changed

web/src/main/java/org/springframework/security/web/server/ui/LoginPageGeneratingWebFilter.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import org.springframework.security.web.server.csrf.CsrfToken;
3333
import org.springframework.security.web.server.util.matcher.ServerWebExchangeMatcher;
3434
import org.springframework.security.web.server.util.matcher.ServerWebExchangeMatchers;
35-
import org.springframework.security.web.util.CssUtils;
3635
import org.springframework.util.Assert;
3736
import org.springframework.util.MultiValueMap;
3837
import org.springframework.web.server.ServerWebExchange;
@@ -91,7 +90,7 @@ private byte[] createPage(ServerWebExchange exchange, String csrfTokenHtmlInput)
9190
String contextPath = exchange.getRequest().getPath().contextPath().value();
9291

9392
return HtmlTemplates.fromTemplate(LOGIN_PAGE_TEMPLATE)
94-
.withRawHtml("cssStyle", CssUtils.getCssStyleBlock().indent(4))
93+
.withRawHtml("contextPath", contextPath)
9594
.withRawHtml("formLogin", formLogin(queryParams, contextPath, csrfTokenHtmlInput))
9695
.withRawHtml("oauth2Login", oauth2Login(queryParams, contextPath, this.oauth2AuthenticationUrlToClientName))
9796
.render()
@@ -164,7 +163,7 @@ private static String createLogoutSuccess(boolean isLogoutSuccess) {
164163
<meta name="description" content="">
165164
<meta name="author" content="">
166165
<title>Please sign in</title>
167-
{{cssStyle}}
166+
<link href="{{contextPath}}/default-ui.css" rel="stylesheet" />
168167
</head>
169168
<body>
170169
<div class="content">

web/src/main/java/org/springframework/security/web/server/ui/LogoutPageGeneratingWebFilter.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import org.springframework.security.web.server.csrf.CsrfToken;
3030
import org.springframework.security.web.server.util.matcher.ServerWebExchangeMatcher;
3131
import org.springframework.security.web.server.util.matcher.ServerWebExchangeMatchers;
32-
import org.springframework.security.web.util.CssUtils;
3332
import org.springframework.web.server.ServerWebExchange;
3433
import org.springframework.web.server.WebFilter;
3534
import org.springframework.web.server.WebFilterChain;
@@ -71,7 +70,6 @@ private Mono<DataBuffer> createBuffer(ServerWebExchange exchange) {
7170

7271
private static byte[] createPage(String csrfTokenHtmlInput, String contextPath) {
7372
return HtmlTemplates.fromTemplate(LOGOUT_PAGE_TEMPLATE)
74-
.withRawHtml("cssStyle", CssUtils.getCssStyleBlock().indent(4))
7573
.withValue("contextPath", contextPath)
7674
.withRawHtml("csrf", csrfTokenHtmlInput.indent(8))
7775
.render()
@@ -94,7 +92,7 @@ private static String csrfToken(CsrfToken token) {
9492
<meta name="description" content="">
9593
<meta name="author" content="">
9694
<title>Confirm Log Out?</title>
97-
{{cssStyle}}
95+
<link href="{{contextPath}}/default-ui.css" rel="stylesheet" />
9896
</head>
9997
<body>
10098
<div class="content">

web/src/test/java/org/springframework/security/web/server/ui/LoginPageGeneratingWebFilterTests.java

Lines changed: 1 addition & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -66,131 +66,7 @@ void filtersThenRendersPage() {
6666
<meta name="description" content="">
6767
<meta name="author" content="">
6868
<title>Please sign in</title>
69-
<style>
70-
/* General layout */
71-
body {
72-
font-family: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
73-
background-color: #eee;
74-
padding: 40px 0;
75-
margin: 0;
76-
line-height: 1.5;
77-
}
78-
\s\s\s\s
79-
h2 {
80-
margin-top: 0;
81-
margin-bottom: 0.5rem;
82-
font-size: 2rem;
83-
font-weight: 500;
84-
line-height: 2rem;
85-
}
86-
\s\s\s\s
87-
.content {
88-
margin-right: auto;
89-
margin-left: auto;
90-
padding-right: 15px;
91-
padding-left: 15px;
92-
width: 100%;
93-
box-sizing: border-box;
94-
}
95-
\s\s\s\s
96-
@media (min-width: 800px) {
97-
.content {
98-
max-width: 760px;
99-
}
100-
}
101-
\s\s\s\s
102-
/* Components */
103-
a,
104-
a:visited {
105-
text-decoration: none;
106-
color: #06f;
107-
}
108-
\s\s\s\s
109-
a:hover {
110-
text-decoration: underline;
111-
color: #003c97;
112-
}
113-
\s\s\s\s
114-
input[type="text"],
115-
input[type="password"] {
116-
height: auto;
117-
width: 100%;
118-
font-size: 1rem;
119-
padding: 0.5rem;
120-
box-sizing: border-box;
121-
}
122-
\s\s\s\s
123-
button {
124-
padding: 0.5rem 1rem;
125-
font-size: 1.25rem;
126-
line-height: 1.5;
127-
border: none;
128-
border-radius: 0.1rem;
129-
width: 100%;
130-
}
131-
\s\s\s\s
132-
button.primary {
133-
color: #fff;
134-
background-color: #06f;
135-
}
136-
\s\s\s\s
137-
.alert {
138-
padding: 0.75rem 1rem;
139-
margin-bottom: 1rem;
140-
line-height: 1.5;
141-
border-radius: 0.1rem;
142-
width: 100%;
143-
box-sizing: border-box;
144-
border-width: 1px;
145-
border-style: solid;
146-
}
147-
\s\s\s\s
148-
.alert.alert-danger {
149-
color: #6b1922;
150-
background-color: #f7d5d7;
151-
border-color: #eab6bb;
152-
}
153-
\s\s\s\s
154-
.alert.alert-success {
155-
color: #145222;
156-
background-color: #d1f0d9;
157-
border-color: #c2ebcb;
158-
}
159-
\s\s\s\s
160-
.screenreader {
161-
position: absolute;
162-
clip: rect(0 0 0 0);
163-
height: 1px;
164-
width: 1px;
165-
padding: 0;
166-
border: 0;
167-
overflow: hidden;
168-
}
169-
\s\s\s\s
170-
table {
171-
width: 100%;
172-
max-width: 100%;
173-
margin-bottom: 2rem;
174-
}
175-
\s\s\s\s
176-
.table-striped tr:nth-of-type(2n + 1) {
177-
background-color: #e1e1e1;
178-
}
179-
\s\s\s\s
180-
td {
181-
padding: 0.75rem;
182-
vertical-align: top;
183-
}
184-
\s\s\s\s
185-
/* Login / logout layouts */
186-
.login-form,
187-
.logout-form {
188-
max-width: 340px;
189-
padding: 0 15px 15px 15px;
190-
margin: 0 auto 2rem auto;
191-
box-sizing: border-box;
192-
}
193-
</style>
69+
<link href="/test/default-ui.css" rel="stylesheet" />
19470
</head>
19571
<body>
19672
<div class="content">

web/src/test/java/org/springframework/security/web/server/ui/LogoutPageGeneratingWebFilterTests.java

Lines changed: 1 addition & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -58,131 +58,7 @@ void filterThenRendersPage() {
5858
<meta name="description" content="">
5959
<meta name="author" content="">
6060
<title>Confirm Log Out?</title>
61-
<style>
62-
/* General layout */
63-
body {
64-
font-family: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
65-
background-color: #eee;
66-
padding: 40px 0;
67-
margin: 0;
68-
line-height: 1.5;
69-
}
70-
\s\s\s\s
71-
h2 {
72-
margin-top: 0;
73-
margin-bottom: 0.5rem;
74-
font-size: 2rem;
75-
font-weight: 500;
76-
line-height: 2rem;
77-
}
78-
\s\s\s\s
79-
.content {
80-
margin-right: auto;
81-
margin-left: auto;
82-
padding-right: 15px;
83-
padding-left: 15px;
84-
width: 100%;
85-
box-sizing: border-box;
86-
}
87-
\s\s\s\s
88-
@media (min-width: 800px) {
89-
.content {
90-
max-width: 760px;
91-
}
92-
}
93-
\s\s\s\s
94-
/* Components */
95-
a,
96-
a:visited {
97-
text-decoration: none;
98-
color: #06f;
99-
}
100-
\s\s\s\s
101-
a:hover {
102-
text-decoration: underline;
103-
color: #003c97;
104-
}
105-
\s\s\s\s
106-
input[type="text"],
107-
input[type="password"] {
108-
height: auto;
109-
width: 100%;
110-
font-size: 1rem;
111-
padding: 0.5rem;
112-
box-sizing: border-box;
113-
}
114-
\s\s\s\s
115-
button {
116-
padding: 0.5rem 1rem;
117-
font-size: 1.25rem;
118-
line-height: 1.5;
119-
border: none;
120-
border-radius: 0.1rem;
121-
width: 100%;
122-
}
123-
\s\s\s\s
124-
button.primary {
125-
color: #fff;
126-
background-color: #06f;
127-
}
128-
\s\s\s\s
129-
.alert {
130-
padding: 0.75rem 1rem;
131-
margin-bottom: 1rem;
132-
line-height: 1.5;
133-
border-radius: 0.1rem;
134-
width: 100%;
135-
box-sizing: border-box;
136-
border-width: 1px;
137-
border-style: solid;
138-
}
139-
\s\s\s\s
140-
.alert.alert-danger {
141-
color: #6b1922;
142-
background-color: #f7d5d7;
143-
border-color: #eab6bb;
144-
}
145-
\s\s\s\s
146-
.alert.alert-success {
147-
color: #145222;
148-
background-color: #d1f0d9;
149-
border-color: #c2ebcb;
150-
}
151-
\s\s\s\s
152-
.screenreader {
153-
position: absolute;
154-
clip: rect(0 0 0 0);
155-
height: 1px;
156-
width: 1px;
157-
padding: 0;
158-
border: 0;
159-
overflow: hidden;
160-
}
161-
\s\s\s\s
162-
table {
163-
width: 100%;
164-
max-width: 100%;
165-
margin-bottom: 2rem;
166-
}
167-
\s\s\s\s
168-
.table-striped tr:nth-of-type(2n + 1) {
169-
background-color: #e1e1e1;
170-
}
171-
\s\s\s\s
172-
td {
173-
padding: 0.75rem;
174-
vertical-align: top;
175-
}
176-
\s\s\s\s
177-
/* Login / logout layouts */
178-
.login-form,
179-
.logout-form {
180-
max-width: 340px;
181-
padding: 0 15px 15px 15px;
182-
margin: 0 auto 2rem auto;
183-
box-sizing: border-box;
184-
}
185-
</style>
61+
<link href="/test/default-ui.css" rel="stylesheet" />
18662
</head>
18763
<body>
18864
<div class="content">

0 commit comments

Comments
 (0)