Hi,
ich bin gerade dabei mich mit dem Spring Framework zu beschäftigen. Bisher habe ich Spring MVC aufgesetzt und verschiedene REST-Services erstellt alles mit java config. Als Datenbank verwende ich Postgres.
Mein Problem ist jetzt noch Spring Security einzurichten. Ich nutze keine JSP seiten sondern als Webfrontend AngularJS, was nur über die REST-Services auf mein Backend zugreift.
Ich wollte OAUTH2 verwenden, oder gibt es da auch eine einfachere Möglichkeit !?
Im Prinzip will ich mit Spring Security verschiedene Rollen einrichten am Anfang nur User und Admin und halt den eigentlichen Login mit Username und Passwort. Username/Passwort usw sollen in meiner Datenbank stehen, braucht man bei Spring Security eine spezielle Datenbank strutkur um Username/Passwort und rollen zu speichern !?
Ich will das ganze mit Java Config machen, aber mich übrefordert die ganze Sache im Moment etwas. Bisher habe ich nur zum testen einen einfachen form Login erstellt der sieht so aus..
erstmal die Security COnfig:
Die meisten beispiele sind nur so inMemoryAuthentication aber ich brauche username passwort in einer Datenbank
und zum initialisieren benutze ich einen Webinitializer:
könnte mir da jemand helfen wie muss ich das ganze anpassen damit ich meine Rest Services absichern kann. Bei OAUTH2 wird ja dann auch ein Token generiert, ist in dem dann auch automatisch die Rollenzugehörigkeit gespeichert ? und wird der Token dann auf Serverseite nur im Cache gehalten ?
Wenn es Leute gibt die vll aus der nähe von Offenburg oder evtl noch Freiburg kommen und mit helfen könnten wäre das sehr nett, es soll auch nicht umsonst sein. Anfragen dazu bitte per PN.
Es muss auch nicht uznbedingt oauth2 sein ich will einfach nur nen Login mit Username/Passwort bei dem man sich nen Tokken oder sonstiges holt und diesen dann in nem cookie oder so speichert und halt ein kleines Rollen-Management. Wenn dann jemand einen Rest-Service von mir benutzen will soll er einfach den Tokken mitschicken und der Rset-Service soll dann prüfen ob derjenige berechtig ist.
Wenn es da mit Spring security was einfacheres als oauth2 gibt wäre das auch ok.
mfg cyb
ich bin gerade dabei mich mit dem Spring Framework zu beschäftigen. Bisher habe ich Spring MVC aufgesetzt und verschiedene REST-Services erstellt alles mit java config. Als Datenbank verwende ich Postgres.
Mein Problem ist jetzt noch Spring Security einzurichten. Ich nutze keine JSP seiten sondern als Webfrontend AngularJS, was nur über die REST-Services auf mein Backend zugreift.
Ich wollte OAUTH2 verwenden, oder gibt es da auch eine einfachere Möglichkeit !?
Im Prinzip will ich mit Spring Security verschiedene Rollen einrichten am Anfang nur User und Admin und halt den eigentlichen Login mit Username und Passwort. Username/Passwort usw sollen in meiner Datenbank stehen, braucht man bei Spring Security eine spezielle Datenbank strutkur um Username/Passwort und rollen zu speichern !?
Ich will das ganze mit Java Config machen, aber mich übrefordert die ganze Sache im Moment etwas. Bisher habe ich nur zum testen einen einfachen form Login erstellt der sieht so aus..
erstmal die Security COnfig:
Code:
@Configuration
@EnableWebMvcSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter{
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("test").roles("User");
}
}
Die meisten beispiele sind nur so inMemoryAuthentication aber ich brauche username passwort in einer Datenbank
und zum initialisieren benutze ich einen Webinitializer:
Code:
public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[]{ SecurityConfig.class };
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[] { WebConfig.class };
}
@Override
protected String[] getServletMappings() {
return new String[] { "/*" };
}
@Override
protected Filter[] getServletFilters() {
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
characterEncodingFilter.setEncoding("UTF-8");
return new Filter[] {characterEncodingFilter};
}
}
könnte mir da jemand helfen wie muss ich das ganze anpassen damit ich meine Rest Services absichern kann. Bei OAUTH2 wird ja dann auch ein Token generiert, ist in dem dann auch automatisch die Rollenzugehörigkeit gespeichert ? und wird der Token dann auf Serverseite nur im Cache gehalten ?
Wenn es Leute gibt die vll aus der nähe von Offenburg oder evtl noch Freiburg kommen und mit helfen könnten wäre das sehr nett, es soll auch nicht umsonst sein. Anfragen dazu bitte per PN.
Es muss auch nicht uznbedingt oauth2 sein ich will einfach nur nen Login mit Username/Passwort bei dem man sich nen Tokken oder sonstiges holt und diesen dann in nem cookie oder so speichert und halt ein kleines Rollen-Management. Wenn dann jemand einen Rest-Service von mir benutzen will soll er einfach den Tokken mitschicken und der Rset-Service soll dann prüfen ob derjenige berechtig ist.
Wenn es da mit Spring security was einfacheres als oauth2 gibt wäre das auch ok.
mfg cyb
Zuletzt bearbeitet: