Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 17.7.2017, 21:25   #1
gavrilo
Veteran
 
Član od: 25.11.2008.
Lokacija: :D
Poruke: 581
Zahvalnice: 127
Zahvaljeno 39 puta na 39 poruka
Slanje poruke preko MSN-a korisniku gavrilo
Određen forumom Spring Security problem

Pitao sam na Stack Overflow-u ali niko nije uspeo da mi pomogne, a cini mi se da problem nije toliko komplikovan pa reko ovde da pitam. Vidjao sam da ovde ima ljudi koji poznaju Spring pa bi mi pomoc dobro dosla.

Imam Spring web aplikaciju koju radim u Mavenu, koristim Spring web-mvc i imam bazu u pozadini.

Ubacio sam Spring security i problem je nastao kada sam probao da podatke o autorizaciji i autentifikaciji citam iz baze. A kada su podaci o korisnicima hardkodirani (To je onaj metod inMemoryAuthentication() ) sve radi ok.

Ovo je kod:

Kod:
@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

	@Autowired
	DBConnection conn;
	
	@Autowired
	public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
		 //auth.inMemoryAuthentication().withUser("user").password("password").roles("USER");
		auth.jdbcAuthentication().dataSource(conn.initializeDataSource())
				.usersByUsernameQuery("select username, password, enabled from korisnik where username=?")
				.authoritiesByUsernameQuery("select username, autorstvo from autorizacija where korisnik_id=?");

	}
}
Sa ovim zakomentarisanim, a bez jdbcAuthentication() ovo radi kako treba, ali citanje iz baze ne radi. U gresci spring kaze da ne moze da napravi Bean od ove klase SecurityConfiguration kada Autowire-ujem DBConnection, a tu istu klasu sam sasvim normalno Autowire-ovao u drugim klasama, ali iz nekog razloga u ovoj pravi gresku.

Vidjao sam da se najcesce autorizacija i autentifikacija u springu radi pomocu spring boot-a, ali posto ja to nikad ranije nisam radio pokusavam da ga izbegnem.
gavrilo je offline   Odgovor sa citatom ove poruke
Stara 18.7.2017, 20:24   #2
brano88
Član
 
Član od: 1.7.2014.
Lokacija: Bijeljina
Poruke: 228
Zahvalnice: 26
Zahvaljeno 59 puta na 46 poruka
Određen forumom Re: Spring Security problem

1) Kako izgleda DBConnection klasa i da li se ispravno injectovana u SecurityConfiguration (provjeri da li je null)?
2) Sta radi @Autowired nad configureGlobal metodom?
3) Zasto ne koristis standardni pristup sa implementacijom UserService interfejsa?

Inace, ko zna sta moze biti. Spring ko Spring. Ako imas neki stack trace, postavi.
brano88 je offline   Odgovor sa citatom ove poruke
Stara 18.7.2017, 20:40   #3
gavrilo
Veteran
 
Član od: 25.11.2008.
Lokacija: :D
Poruke: 581
Zahvalnice: 127
Zahvaljeno 39 puta na 39 poruka
Slanje poruke preko MSN-a korisniku gavrilo
Određen forumom Re: Spring Security problem

DBConnection klasu koristim da dobijem vezu sa bazom, a ovde mi treba jer mi ona isto vraca DataSource objekat, i koristio sam je sasvim normalno za komunikaciju sa bazom, ali ne znam kako da proverim da li je injectovana SecurityConfiguration.

A ostalog sto se tice, svu tu konfiguraciju sam prekopirao odavde: https://spring.io/blog/2013/07/03/sp...-web-security/ , samo sam ja Autowireovao DBConnection.

A evo su greske: http://textuploader.com/dkbsf

edit: A sto je najjace hoce da se autowireuje bez auth.jdbcAuthentication().

Poslednja ispravka: gavrilo (19.7.2017 u 12:10)
gavrilo je offline   Odgovor sa citatom ove poruke
Stara 19.7.2017, 18:14   #4
brano88
Član
 
Član od: 1.7.2014.
Lokacija: Bijeljina
Poruke: 228
Zahvalnice: 26
Zahvaljeno 59 puta na 46 poruka
Određen forumom Re: Spring Security problem

Ovo mi je trebalo:

Citat:
nested exception is java.lang.NoClassDefFoundError: org/springframework/jdbc/datasource/init/DatabasePopulator
Imas li spring-jdbc modul u listi dependency-a?

Drugo, taj DBConnection mi izgleda kao neka djavolja rabota iz razloga sto bih se mogao kladiti da ne vracas "connection pool". Zasto jednostavno ne autowire-ujes default-ni DataSource?

Kod:
@Autowired
private final DataSource dataSource;
Spring Boot bi trebao da ga autokonfigurise. Ako nije autokonfigurisan, napravi "bean" koji ce vracati instancu data source-a. Npr. Apache DBCP BasicDataSource.
brano88 je offline   Odgovor sa citatom ove poruke
Sledećih 2 korisnika se zahvaljuje korisniku brano88 na korisnoj poruci:
gavrilo (19.7.2017), Oggy (20.7.2017)
Stara 19.7.2017, 22:24   #5
gavrilo
Veteran
 
Član od: 25.11.2008.
Lokacija: :D
Poruke: 581
Zahvalnice: 127
Zahvaljeno 39 puta na 39 poruka
Slanje poruke preko MSN-a korisniku gavrilo
Određen forumom Re: Spring Security problem

DBConnection vraca connection pool, ali nebitno, nisam imao spring-jdbc dependancy i to je pravilo problem, sad radi, hvala puno

Poslednja ispravka: gavrilo (19.7.2017 u 23:20)
gavrilo je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Eset Smart Security 5 - firewall problem KengurBGD Kvarovi 4 28.12.2011 2:16
problem sa ATA kontrolerom ili BIOS problem? technikum Nosači podataka 1 23.11.2011 12:29
Gigabyte NX96T 9600GT, čudan problem De_Italiano Grafika 7 19.7.2009 19:31
Slackware problem kvare_cg Slobodni softver 27 20.6.2009 23:27
MSN problem sa Zone Alarm Security Suite-om U Jogurtu Nema Kostiju Aplikativni softver 1 15.1.2008 12:24


Sva vremena su po Griniču +2 h. Sada je 21:51.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com