Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
alx_java2b_20250412
Overview
Overview
Details
Activity
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
Patryk Czarnik
alx_java2b_20250412
Commits
b64f2ea9
Commit
b64f2ea9
authored
Jun 01, 2025
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
security: użytkownicy InMemory
parent
90f7865c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
5 deletions
+26
-5
SecurityConfig.java
...epSpring/src/main/java/sklep/security/SecurityConfig.java
+26
-5
No files found.
PC37-SklepSpring/src/main/java/sklep/security/SecurityConfig.java
View file @
b64f2ea9
...
@@ -2,19 +2,40 @@ package sklep.security;
...
@@ -2,19 +2,40 @@ package sklep.security;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.security.config.Customizer
;
import
org.springframework.security.config.annotation.web.builders.HttpSecurity
;
import
org.springframework.security.config.annotation.web.builders.HttpSecurity
;
import
org.springframework.security.core.userdetails.User
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.security.provisioning.InMemoryUserDetailsManager
;
import
org.springframework.security.web.SecurityFilterChain
;
import
org.springframework.security.web.SecurityFilterChain
;
@Configuration
@Configuration
public
class
SecurityConfig
{
public
class
SecurityConfig
{
// Uproszczona konfiguracja zabezpieczeń HTTP.
// W tej wersji dla każdego zapytanie będziemy wymagać uwierzytelnienia
// Określamy bardzo liberalną politykę autoryzacji - każdy do dostęp do każdego elementu aplikacji.
// (czyli użytkownik musi się zalogować)
// Określamy też, że do uwierzytelnienia służyć będzie formularz generowany automatycznie przez Springa.
@Bean
@Bean
SecurityFilterChain
configureHttpSecurity
(
HttpSecurity
httpSecurity
)
throws
Exception
{
SecurityFilterChain
configureHttpSecurity
(
HttpSecurity
httpSecurity
)
throws
Exception
{
httpSecurity
.
authorizeHttpRequests
(
authz
->
authz
.
anyRequest
().
permitAll
());
httpSecurity
.
authorizeHttpRequests
(
authz
->
authz
.
anyRequest
().
authenticated
())
httpSecurity
.
csrf
(
csrf
->
csrf
.
disable
());
.
formLogin
(
Customizer
.
withDefaults
())
.
csrf
(
csrf
->
csrf
.
disable
());
return
httpSecurity
.
build
();
return
httpSecurity
.
build
();
}
}
// Druga metoda służy do określenia, skąd biorą się użytkownicy i ich hasła.
// W tej wersji definiujemy użytkowników "w pamięci" wpisując nazwy i hasła bezpośrednio w kodzie.
// Obecnie Spring używa domyślnie "DelegatePasswordEncoder", który zapisuje hasło w takiej postaci:
// {rodzaj_algorytmu}ZAKODOWANEHASŁO
// przy czym dostępnych jest wiele algorytmów kodowania haseł, w tym popularny bcrypt
// Jako algorytm kodowania haseł może być też użyty 'noop', co oznacza, że hasło jest zapisane jawnie.
@Bean
InMemoryUserDetailsManager
userDetailsService
()
{
UserDetails
[]
users
=
{
User
.
withUsername
(
"ala"
).
password
(
"{noop}ala123"
).
roles
(
"manager"
,
"worker"
).
build
(),
User
.
withUsername
(
"ola"
).
password
(
"{noop}ola123"
).
roles
(
"worker"
).
build
(),
User
.
withUsername
(
"ela"
).
password
(
"{bcrypt}$2a$12$zauO4uOXT7OxOsYN.CoZ6em.OPwrf7AMb0LQIoyLlxYaDTzyfzjnG"
).
roles
(
"worker"
).
build
(),
// hasło Eli zakodowane za pomocą bcrypt: abc123
};
return
new
InMemoryUserDetailsManager
(
users
);
}
}
}
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