Skip to content

Commit 4fa51be

Browse files
committed
#165: Zwischen Kommit mit funktionality Login
1 parent 4afbc5e commit 4fa51be

File tree

8 files changed

+70
-263
lines changed

8 files changed

+70
-263
lines changed

src/main/java/de/doubleslash/keeptime/REST_API/SecurityConfiguration.java

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,40 +16,31 @@
1616

1717
package de.doubleslash.keeptime.REST_API;
1818

19-
import org.springframework.beans.factory.annotation.Autowired;
2019
import org.springframework.context.annotation.Bean;
2120
import org.springframework.context.annotation.Configuration;
22-
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
2321
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
2422
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
2523
import org.springframework.security.config.http.SessionCreationPolicy;
26-
import org.springframework.security.provisioning.JdbcUserDetailsManager;
27-
import org.springframework.security.provisioning.UserDetailsManager;
24+
2825
import org.springframework.security.web.SecurityFilterChain;
2926

3027
import javax.sql.DataSource;
3128

3229
@Configuration
3330
@EnableWebSecurity
3431
public class SecurityConfiguration {
35-
@Autowired
36-
private DataSource dataSource;
37-
38-
@Autowired
39-
public void configureGlobal(final AuthenticationManagerBuilder auth) throws Exception {
40-
auth.jdbcAuthentication().dataSource(dataSource);
41-
}
4232

4333
@Bean
4434
public SecurityFilterChain filterChain(final HttpSecurity http) throws Exception {
45-
http.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)).authorizeRequests().anyRequest().authenticated().and().httpBasic().and().csrf().disable();
35+
http.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
36+
.authorizeRequests()
37+
.anyRequest()
38+
.authenticated()
39+
.and()
40+
.httpBasic()
41+
.and()
42+
.csrf()
43+
.disable();
4644
return http.build();
4745
}
48-
49-
@Bean
50-
public UserDetailsManager users(@Autowired final AuthenticationManagerBuilder auth) throws Exception {
51-
final JdbcUserDetailsManager jdbcUserDetailsManager= new JdbcUserDetailsManager(dataSource);
52-
jdbcUserDetailsManager.setAuthenticationManager(auth.getOrBuild());
53-
return jdbcUserDetailsManager;
54-
}
5546
}

src/main/java/de/doubleslash/keeptime/model/Authorities.java

Lines changed: 0 additions & 44 deletions
This file was deleted.

src/main/java/de/doubleslash/keeptime/model/User.java

Lines changed: 0 additions & 53 deletions
This file was deleted.

src/main/java/de/doubleslash/keeptime/model/repos/AuthoritiesRepository.java

Lines changed: 0 additions & 26 deletions
This file was deleted.

src/main/java/de/doubleslash/keeptime/model/repos/UserRepository.java

Lines changed: 0 additions & 27 deletions
This file was deleted.

src/main/java/de/doubleslash/keeptime/view/SettingsController.java

Lines changed: 27 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,9 @@
2525
import java.sql.SQLException;
2626
import java.util.Comparator;
2727
import java.util.HashMap;
28-
import java.util.List;
2928
import java.util.Map;
3029
import java.util.Properties;
3130

32-
import de.doubleslash.keeptime.model.Authorities;
33-
import de.doubleslash.keeptime.model.User;
34-
import de.doubleslash.keeptime.model.repos.AuthoritiesRepository;
35-
import de.doubleslash.keeptime.model.repos.UserRepository;
3631
import org.h2.tools.RunScript;
3732
import org.h2.tools.Script;
3833
import org.slf4j.Logger;
@@ -64,8 +59,6 @@
6459
import javafx.stage.FileChooser.ExtensionFilter;
6560
import javafx.stage.Stage;
6661

67-
import javax.print.attribute.standard.PrinterURI;
68-
6962
@Component
7063
public class SettingsController {
7164

@@ -180,12 +173,6 @@ public class SettingsController {
180173
@FXML
181174
private RadioButton radioApiOn;
182175

183-
@Autowired
184-
private UserRepository userRepository;
185-
186-
@Autowired
187-
private AuthoritiesRepository authoritiesRepository;
188-
189176
@FXML
190177
private TextField authPort;
191178

@@ -215,32 +202,30 @@ public class SettingsController {
215202
@FXML
216203
private Label labelUsername;
217204

218-
User user;
219-
220205
@Autowired
221206
ViewController mainscreen;
222207

223208
public SettingsController(final Model model, final Controller controller,
224-
ApplicationProperties applicationProperties, final UserRepository userRepository) {
209+
ApplicationProperties applicationProperties) {
225210
this.model = model;
226211
this.controller = controller;
227212
this.applicationProperties = applicationProperties;
228-
this.userRepository = userRepository;
229-
this.setDefaultUserAndPassword();
213+
// setDefaultUserAndPassword();
230214

231215
}
232216

233217
private void setDefaultUserAndPassword() {
234-
final List<User> users = userRepository.findAll();
235-
if (!users.isEmpty()) {
236-
user = users.get(0);
237-
} else {
238-
239-
user = new User();
240-
user.setUserName("user");
241-
user.setPassword("123");
242-
user.setEnabled(true);
243-
}
218+
219+
username = authName.getText();
220+
password = authPassword.getText();
221+
222+
createAndSaveUser(username, password);
223+
224+
Properties properties = new Properties();
225+
// System.setProperty("BASIC_AUTH_USER", "admin");
226+
// System.setProperty("BASIC_AUTH_PASSWORD", "123");
227+
properties.put("spring.security.user.name", "${BASIC_AUTH_USER:" + "admin" + "}");
228+
properties.put("spring.security.user.password", "${BASIC_AUTH_PASSWORD:" + "admin" + "}");
244229
}
245230

246231
@FXML
@@ -286,9 +271,9 @@ private void initialize() {
286271
radioApiOff.setSelected(false);
287272
String port = properties.getProperty("server.port");
288273

289-
if (user != null) {
290-
authName.setText(user.getUserName());
291-
}
274+
// if (user != null) {
275+
// authName.setText(user.getUserName());
276+
// }
292277
if (port != null) {
293278
authPort.setText(port);
294279
}
@@ -667,7 +652,12 @@ private void handleApiOn() {
667652
propertiesToUpdate.put("spring.main.web-application-type", "");
668653
propertiesToUpdate.put("server.port", authPort.getText());
669654
propertiesToUpdate.put("api", "ON");
670-
propertiesToUpdate.put("authUsername", username);
655+
656+
// propertiesToUpdate.put("authUsername", username);
657+
propertiesToUpdate.put("spring.security.user.name", "${BASIC_AUTH_USER:" + username + "}");
658+
propertiesToUpdate.put("spring.security.user.password", "${BASIC_AUTH_PASSWORD:" + password + "}");
659+
// System.setProperty("BASIC_AUTH_USER", username);
660+
// System.setProperty("BASIC_AUTH_PASSWORD", password);
671661
propertyWrite(propertiesToUpdate);
672662
}
673663

@@ -676,20 +666,12 @@ private void setWebApplicationType(String value) {
676666
}
677667

678668
private void createAndSaveUser(String username, String password) {
679-
Authorities authorities = new Authorities();
680-
681-
userRepository.deleteAll();
682-
authoritiesRepository.deleteAll();
683-
684-
user.setUserName(username);
685-
user.setPassword("{noop}" + password);
686-
user.setEnabled(true);
687-
688-
authorities.setUserName(username);
689-
authorities.setAuthority("ROLE_USER");
669+
Properties properties = new Properties();
670+
properties.setProperty("spring.security.user.name", "${BASIC_AUTH_USER:" + username + "}");
671+
properties.setProperty("spring.security.user.password", "${BASIC_AUTH_PASSWORD:" + password + "}");
672+
// System.setProperty("BASIC_AUTH_USER", username);
673+
// System.setProperty("BASIC_AUTH_PASSWORD", password);
690674

691-
userRepository.save(user);
692-
authoritiesRepository.save(authorities);
693675
}
694676

695677
private void propertyWrite(String key, String value) {

src/main/resources/db/migration/V1_3_0__add_authentication_tables.sql

Lines changed: 0 additions & 16 deletions
This file was deleted.

0 commit comments

Comments
 (0)