Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - vesterna12

Stran: [1] 2 3 ... 8
1
Software / Zkušenosti s orchestrátorem Camunda
« kdy: 13. 05. 2023, 15:19:38 »
Je tu nekdo kdo pouziva software Camunda?
Jde o BPM orchestrator.
Zajimalo by me co byl duvod pro zavedeni, jaky problem to ve Vasi situaci resilo a co Vam to v zaveru dalo?

2
Vývoj / Re:Spring boot model Produkt s možnostmi
« kdy: 01. 05. 2023, 18:53:26 »
Diky to je rozhodne vhodnejsi reseni.
Da se ve Springu tabulka produkt_vlastnost vytvorit pomoci nejake specialni anotace nebo toho lze dosahnout jen pomoci nove entity, ktera to bude vsechno propojovat?

3
Vývoj / Spring boot model Produkt s možnostmi
« kdy: 01. 05. 2023, 15:30:52 »
Zdravim,
potrebuji navrhnout tridu Produkt, ktera obsahuje tridu (Array)Moznosti ktera obsahuje (Array)MoznostiHodnota.
Trida Produkty by tak mela ulozit "Zidli" s moznosti "Barva" a MoznostiHodnota "cervena, oraznova, modra...".

V tabulce s Moznosti a MoznostiHodnota se vlastnosti nesmi opakovat.
Aktualne instacuji produkt nasledovne

        Produkt produkt1 = new Produkt("testovaciProdukt");
        Moznosti moznosti1 = new Moznosti("Barva");
        MoznostiHodnota moznostiHodnota1 = new MoznostiHodnota("cervena");
        moznosti1.pridatMoznostHodnota(moznostiHodnota1);
        produkt1.pridatMoznost(moznosti1);
        produktInterface.save(produkt1);

coz vyrobi nasledujici DB:
Kód: [Vybrat]
Produkt           |Produkt_id | Jmeno
                  |1          | Produkt1

Moznosti          |Moznosti_id|  Hodnota
                  |1          |   Barva

MoznostiHodnota   |MoznostiHodnota_id|   Hodnota
                  |1                 |   Cervena
                  |2                 |   Oranzova

Vazebni tabulky:
Kód: [Vybrat]
Produkt_moznosti |Id| Produkt_id | Moznost_id
                 | 1 |      1    |     1

Moznosti_MoznostiHodnota
                  |Id| Moznost_id | MoznostiHodnota_id
                  | 1 |      1    |     1
                  | 2 |      1    |     2

Pokud ma dalsi produkt moznost_id 1, dostane vsechny "MoznostiHodnota", protoze vazebni tabulka neobsahuje id produktu.
Pro reseni me napadlo pridat id produktu do konstruktoru MoznostiHodnota, ale mozna se to da zvladnout lepe? Nebo na to jdu uplne blbe?

4
Vývoj / Re:Spring boot - autentizace/autorizace endpointu
« kdy: 26. 04. 2023, 23:21:45 »
S tim si pak uz poradim, ale aktualne mam problem s autentizaci kdy se kazdy uzivatel muze autentizovat pouze jednou.
Pri druhem pokusu vidim hlasku

Kód: [Vybrat]
023-04-26T20:06:01.343+02:00  WARN 160351 --- [io-8080-exec-10] o.s.s.c.bcrypt.BCryptPasswordEncoder     : Empty encoded password
Kód: [Vybrat]
public class SecurityConfig {

    @Bean
    //authentication
    public UserDetailsService userDetailsService() {
        return new UserInfoUserDetailsService();
    }
    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }

    @Bean
    public AuthenticationProvider authenticationProvider(){
        DaoAuthenticationProvider authenticationProvider=new DaoAuthenticationProvider();
        authenticationProvider.setUserDetailsService(userDetailsService());
        authenticationProvider.setPasswordEncoder(passwordEncoder());
        return authenticationProvider;
    }


    @Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        return http.csrf().disable()
                .authorizeHttpRequests()
                .requestMatchers("/products/welcome","/products/new").permitAll()
                .and()
                .authorizeHttpRequests().requestMatchers("/products/**")
                .authenticated().and().formLogin().and().build();
    }
}


Kód: [Vybrat]
@Repository
public class UserDao {
    private final static List<UserDetails> APPLICATION_USERS = Arrays.asList(
            new User("email@email","$2a$12$rEGy9.W4cVmwftdHed74quwkJVfPRZt1TgAsF8le9isOWvOWdlscW", Collections.singleton(new SimpleGrantedAuthority("ROLE_ADMIN"))),
            new User("email2@email","$2a$12$rEGy9.W4cVmwftdHed74quwkJVfPRZt1TgAsF8le9isOWvOWdlscW", Collections.singleton(new SimpleGrantedAuthority("ROLE_VIEW"))),
            new User("email2@email","password2", Collections.singleton(new SimpleGrantedAuthority("ROLE_CLIENT")))
    );
    public UserDetails findUserByEmail(String email){
        System.out.println("search user");
        System.out.println(APPLICATION_USERS.stream().filter(u->u.getUsername().equals(email)).findFirst());
        return APPLICATION_USERS.stream().filter(u->u.getUsername().equals(email)).findFirst().orElseThrow(()->new UsernameNotFoundException("User not found"));
    }
}


Nasel jsem problem, reseni je v modifikaci tridy UserDao, ktera obsahuje testovaci seznam uzivatelu. V nasledujici modifikaci to funguje
Jen to jen test...
Kód: [Vybrat]
@Component
public class UserDao {
//
//    private final static List<UserDetails> APPLICATION_USERS = Arrays.asList(
//            new User("email@email","$2a$12$rEGy9.W4cVmwftdHed74quwkJVfPRZt1TgAsF8le9isOWvOWdlscW", Collections.singleton(new SimpleGrantedAuthority("ROLE_ADMIN"))),
//            new User("email2@email","$2a$12$rEGy9.W4cVmwftdHed74quwkJVfPRZt1TgAsF8le9isOWvOWdlscW", Collections.singleton(new SimpleGrantedAuthority("ROLE_VIEW"))),
//            new User("plain","plain", Collections.singleton(new SimpleGrantedAuthority("ROLE_VIEW")))
//    );


    public UserDetails findUserByEmail(String email){
        List<UserDetails> APPLICATION_USERS = Arrays.asList(
                new User("email@email","$2a$12$rEGy9.W4cVmwftdHed74quwkJVfPRZt1TgAsF8le9isOWvOWdlscW", Collections.singleton(new SimpleGrantedAuthority("ROLE_ADMIN"))),
                new User("email2@email","$2a$12$rEGy9.W4cVmwftdHed74quwkJVfPRZt1TgAsF8le9isOWvOWdlscW", Collections.singleton(new SimpleGrantedAuthority("ROLE_VIEW"))),
                new User("plain","plain", Collections.singleton(new SimpleGrantedAuthority("ROLE_VIEW")))
        );

        System.out.println("search user");
        System.out.println(APPLICATION_USERS.stream().filter(u->u.getUsername().equals(email)).findFirst());
        return APPLICATION_USERS.stream().filter(u->u.getUsername().equals(email)).findFirst().orElseThrow(()->new UsernameNotFoundException("User not found"));
    }
}

Ale netusim, proc to tak funguje....

5
Vývoj / Re:Spring boot - autentizace/autorizace endpointu
« kdy: 26. 04. 2023, 20:12:08 »
S tim si pak uz poradim, ale aktualne mam problem s autentizaci kdy se kazdy uzivatel muze autentizovat pouze jednou.
Pri druhem pokusu vidim hlasku

Kód: [Vybrat]
023-04-26T20:06:01.343+02:00  WARN 160351 --- [io-8080-exec-10] o.s.s.c.bcrypt.BCryptPasswordEncoder     : Empty encoded password
Kód: [Vybrat]
public class SecurityConfig {

    @Bean
    //authentication
    public UserDetailsService userDetailsService() {
        return new UserInfoUserDetailsService();
    }
    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }

    @Bean
    public AuthenticationProvider authenticationProvider(){
        DaoAuthenticationProvider authenticationProvider=new DaoAuthenticationProvider();
        authenticationProvider.setUserDetailsService(userDetailsService());
        authenticationProvider.setPasswordEncoder(passwordEncoder());
        return authenticationProvider;
    }


    @Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        return http.csrf().disable()
                .authorizeHttpRequests()
                .requestMatchers("/products/welcome","/products/new").permitAll()
                .and()
                .authorizeHttpRequests().requestMatchers("/products/**")
                .authenticated().and().formLogin().and().build();
    }
}


Kód: [Vybrat]
@Repository
public class UserDao {
    private final static List<UserDetails> APPLICATION_USERS = Arrays.asList(
            new User("email@email","$2a$12$rEGy9.W4cVmwftdHed74quwkJVfPRZt1TgAsF8le9isOWvOWdlscW", Collections.singleton(new SimpleGrantedAuthority("ROLE_ADMIN"))),
            new User("email2@email","$2a$12$rEGy9.W4cVmwftdHed74quwkJVfPRZt1TgAsF8le9isOWvOWdlscW", Collections.singleton(new SimpleGrantedAuthority("ROLE_VIEW"))),
            new User("email2@email","password2", Collections.singleton(new SimpleGrantedAuthority("ROLE_CLIENT")))
    );
    public UserDetails findUserByEmail(String email){
        System.out.println("search user");
        System.out.println(APPLICATION_USERS.stream().filter(u->u.getUsername().equals(email)).findFirst());
        return APPLICATION_USERS.stream().filter(u->u.getUsername().equals(email)).findFirst().orElseThrow(()->new UsernameNotFoundException("User not found"));
    }
}

6
Vývoj / Re:Spring boot - autentizace/autorizace endpointu
« kdy: 26. 04. 2023, 18:00:17 »
Nejjednodussi kod ze ktereho jsem konecne presne pochopil jak autentizace a autorizace funguje ve springu jsem nasel tady

https://github.com/Java-Techie-jt/spring-boot-security-3.0/tree/main/src/main/java/com/javatechie

SecFilterChain jsem chapal, ale porad jsem uplne nechapal instance ostatnich trid a jejich ucel. Tohle je maly kod ze ktereho je to snadno pochopitelne.
Jako zacatecnik ve Spring se jeste moc neorientuju...




7
Vývoj / Re:Spring boot - autentizace/autorizace endpointu
« kdy: 26. 04. 2023, 09:57:13 »
Za mne je lepší použít anotace na servisních metodách. SecurityFilterChain a podobné věci založené na textovém zadání URL se snažím nepoužívat a považuju je za nebezpečné. Mezi stringem popisujícím URL, které zabezpečuju, a URL, které vzniká definicí controlleru, není vůbec žádná vazba. Takže stačí překlep, a „zabezpečuju“ špatné URL. V lepším případě, kdy je přístup všude zakázán a povoluje se, jenom znepřístupním nějaké URL. V horším případě, kdy je výchozí stav „vše povoleno“ a přístup na vybrané adresy zakazuju stačí jeden hloupý překlep k tomu, abych dal přístup někam, kam být nemá.
Muzu se zeptat o jake anotace jde?

8
Vývoj / Re:Spring boot - autentizace/autorizace endpointu
« kdy: 25. 04. 2023, 18:55:12 »
Dobre, pokud tedy web server provede autentizaci a v hlavicce posle seznam roli, ktere uzivatel ma je pak dostacujici kontrolovat jestli je aktualni pozadavek autorizovan na zaklade poskytnutych roli pomoci "if..." pri volani @RequestMapping nebo je to porad antivzor a mel by se i v tomto pripade pouzit "SecurityFilterChain" ?

9
Vývoj / Spring boot - autentizace/autorizace endpointu
« kdy: 25. 04. 2023, 14:55:33 »
V tutorialu pro spring-boot byla kapitola pro implementaci JWT tokenu, ktere jsou nasledovne pouzity pro autentizaci a autorizaci.
Implementace mi prijde naprosto silene slozita, ale mozna je to prvnim dojmem.
V realu jsem se setkal nejcasteji s resenim, kdy jednotlive koncove body nemaji implementovanou autentizaci ani autorizaci a jsou chraneny web serverem, kteremu je tato aktivita delegovana.
Da se tohle reseni povazovat za "standard"? Ma smysl se snazit do hloubky porozumet implementaci spring-security?
 

10
Vývoj / Spring boot - @Service
« kdy: 23. 04. 2023, 22:40:25 »
Chtel bych se sezptat jestli se ve Spring boot stale pouziva @Service?
V prikladech ze spring.io  https://spring.io/guides/gs/accessing-data-mysql/ nikde nevidim @Service.
V tutorialech, kde sleduju se vsak @Service stale pouziva.

11
Studium a uplatnění / Re:Plat Java vývojáře na živnost
« kdy: 19. 04. 2023, 22:08:00 »
Citace
Najcastejsie im smrdi remote, akoze wtf, mna uz v nejakom odpornom, oha..
Resime ted nabor na jednu OPS pozici. K prekvapeni managementu chce dneska kazdej nejlepe 100% vzdalene po zauceni. Hrozne tezce to nesou. Po Covidu se snazila firma zavadet  dobrovolny navrat do kancelari kvuli "teamovemu duchu".  Prisla jen ta vetsina, ktere lezou uz jen nohy ze zadku sefa v nadeji, ze jejich zbytecnej zivot bude aspon lepe placenej a ti co uz to doma nemohli vydrzet se starou a parchantama. Kdyz si vzpomenu jaka je to "hala",  vecne vydychanej vzduch, slepice co ten zobak nezavrou (slava genderu!) a mlady managery co radi volaji ve stoje, maji u toho gesta rosnicky pocasi a porad kresli nejaky bubliny na tabuli, nebo nedej buh je vedle pracovniho stolu fotbalek tak jsem jedine rad, ze doba 100% v kanclu je ty tam. Nemluve o poskakovani v kolonach nebo mackani se v ponorce...

Citace
Zda sa mi to alebo sa nad pracou v IT zacina zmrakat?
U nas je po lidech hlad. Na OPS pozici jsme hledali mesice. Casto mi prislo, ze uchazeci ani necetli jake znalosti se ocekavaji a uz vubec se neobtezovali si o tom aspon neco precist. V okamziku zoufalosti a nabidnuti druheho kola uchazec ani neprokazal  minimalni shanu se s tematy seznamit a na 2 kole pohorel uplne stejne jako na tom prvnim. Platove pritom patrime mezi lehky nadstandard v Praze.

Citace
viac ako 3-4 roky nevydrzim nikde
Ja ted zacal hledat po 4 letech. Je to z toho duvodu, ze firma je posedla kazdou malickost resit relativne otravnym managementem, kdy se administrativa stala dominantni naplni prace oproti te technicke. Nehlede na to ze se porad vsechno opakuje a nove technologie uz moc neprichazeji. Je to cesta do pekel a uz mam pocit, ze mi ujizdi vlak. Mam sice chut se ucit po vecerech, ale dlouhodobe to nejde. Nechci na ukor administrativni prace ve ktere sam nevidim poradne smysl, zit 13 hodin pred pocitacem, abych si vykompenzoval technologickej dluh.

Omlouvam se za prispevek mimo hlavni tema...

12
Sítě / Re:Poraďte router pro středně velkou firmu
« kdy: 18. 04. 2023, 13:54:14 »
Děkuju Všem za příspěvky.
V závěru budu volit samostatný server s Pfsense.
Pokud to rozpočet dovolí tak budou dva.

13
Sítě / Re:Poraďte router pro středně velkou firmu
« kdy: 16. 04. 2023, 14:38:57 »
Bude mít větší dostupnost, když si ty krabice za dvacítku koupí tři a v případě výpadku přehodí kabely a zmáčkne reset (5 minut), nebo když si koupí jednu krabici za půl mega a k tomu za dvěstě litrů NBD servis a pak bude s vysypanou krabicí čekat od pátku do pondělí večer (NBD)?

Tu v princípe s tebou súhlasím, akurát vyššie spomínané Mikrotiky podporujú VRRP, takže v prípade výpadku sa za tri sekundy samé prehodia na záložný. V rozpočte za Cisco môže mať celý regál záložných Mikrotikov.

Vyššie spomenuté Mikrotiky neposkytnú IDS alebo NGFW. Síce to v požiadavkách nebolo, ale pri firme s 280 ľuďmi by som to asi chcel.

Co se týče debaty „něco hotového s vlastním síťovým OS“ vs. „standardní počítač s běžným OS + nastavit to“ tak osobně preferuju to druhé. Možná to má větší investici na počáteční nastavení, ale nestane se ti, že by ti chyběla nějaká featura a výrobce řekl „sorry neděláme“ nebo „jj, je k dispozici v enterprise verzi za další mega“, a navíc je potřeba také myslet na to, že nejsi jediný, kdo se o to má starat - a „administrátor - expert na konfiguraci sítě v Linuxu“ se shání podstatně jednodušeji než „administrátor - expert na konkrétní síťový OS nějakého výrobce“.

Tu nie celkom súhlasím. Aadministrátor bežného OS vie nastaviť ip adresu na rozhraní, alebo nejako dá iptables, ale na BGP bude pozerať ako na zjavenie. Sieťový administrátor je v tomto ohľade niečo iné a vie riešiť veci, ktoré by si si v bežnom OS musel nejako došolíchať sám.

Psal jsem to v predhochzim prispevku.
Mikrotik chci primarne pouzit na VLAN routing a management. Pro ochranu provozu z/do internetu Pfsense s IDS/IPS.

14
Sítě / Re:poraďte router pro středně velkou firmu
« kdy: 15. 04. 2023, 19:56:30 »
Mikrotik bych volil čistě pro VLAN management a routing.
Za MK bych dal pak Pfsense pro IDP a IDS.

15
Sítě / Poraďte router pro středně velkou firmu
« kdy: 15. 04. 2023, 18:19:46 »
Hledám router+firewall pro středně velkou firmu.

Nějakých 280 stanic.
9 VLAN.
Potřebuji podporu LACP pro propojení s existující infrastrukturou pomocí 4x1Gbe.
2xWAN pro podporu 2xISP, 2X100Mbit.
Hodila by se i podpora "load balancingu/VIP" pro služby v DMZ, ale případně se dá použít HAProxy.
VPN Ipsec nebo podobné pro propojení ostatních lokalit (2x).
QOS pro priorizaci provozu z VLAN do internetu.

Nějaký MK jako takový se mi jeví jako dobré řešení, ale rád si nechám poradit
https://www.i4wifi.cz/cs/262009-mikrotik-cloud-core-router-ccr2004-16g-2s

Stran: [1] 2 3 ... 8