Create default users on start

This commit is contained in:
Anton Romanov 2025-01-28 19:08:05 +04:00
parent 595eb12607
commit 7320f287c6
3 changed files with 25 additions and 7 deletions
src/main
java/ru/ulstu
resources/templates

@ -24,5 +24,8 @@ public class SeminarApplication {
public void doSomethingAfterStartup() {
System.out.println("hello world, I have just started up");
userService.initDefaultAdmin();
userService.initDefaultAspirant();
userService.initDefaultHead();
userService.initDefaultManager();
}
}

@ -64,11 +64,26 @@ public class UserService implements UserDetailsService {
return user;
}
public void initDefaultAdmin() {
String adminLogin = "admin";
if (getUserByLogin(adminLogin) == null) {
UserRole adminRole = userRoleRepository.save(new UserRole(UserRoleConstants.ADMIN));
createUser(new User(adminLogin, adminPassword, Set.of(adminRole)));
private void createDefaultUser(String login, String userRole) {
if (getUserByLogin(login) == null) {
UserRole role = userRoleRepository.save(new UserRole(userRole.toString()));
createUser(new User(login, login.equals("admin") ? adminPassword : login, Set.of(role)));
}
}
public void initDefaultAdmin() {
createDefaultUser("admin", UserRoleConstants.ADMIN);
}
public void initDefaultAspirant() {
createDefaultUser("aspirant", UserRoleConstants.ASPIRANT);
}
public void initDefaultManager() {
createDefaultUser("manager", UserRoleConstants.MANAGER);
}
public void initDefaultHead() {
createDefaultUser("head", UserRoleConstants.HEAD);
}
}

@ -32,7 +32,7 @@
<li class="nav-item">
<a class="nav-link" href="/docs">Документы</a>
</li>
<li class="nav-item" sec:authorize="hasRole('ROLE_ASPIR')">
<li class="nav-item" sec:authorize="hasRole('ROLE_ASPIRANT')">
<a class="nav-link" href="/reports">Аспиранту</a>
</li>
<li class="nav-item" sec:authorize="hasRole('ROLE_MANAGER')">
@ -47,7 +47,7 @@
<li class="nav-item">
<a class="nav-link disabled" href="#" sec:authorize="hasRole('ROLE_ADMIN')">Личный кабинет
администратора</a>
<a class="nav-link disabled" href="#" sec:authorize="hasRole('ROLE_ASPIR')">Личный кабинет
<a class="nav-link disabled" href="#" sec:authorize="hasRole('ROLE_ASPIRANT')">Личный кабинет
аспиранта</a>
<a class="nav-link disabled" href="#" sec:authorize="hasRole('ROLE_MANAGER')">Личный кабинет
руководителя аспиранта</a>