quick formatting work

This commit is contained in:
eugenp 2014-06-16 17:19:26 +03:00
parent 89d3f72333
commit a910ebae44
3 changed files with 63 additions and 89 deletions

View File

@ -15,13 +15,13 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
@ComponentScan("org.baeldung")
public class SampleLDAPApplication extends WebMvcConfigurerAdapter {
public static void main(String[] args) {
SpringApplication.run(SampleLDAPApplication.class, args);
}
public static void main(String[] args) {
SpringApplication.run(SampleLDAPApplication.class, args);
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/login").setViewName("login");
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/login").setViewName("login");
}
}

View File

@ -4,7 +4,6 @@ import java.security.Principal;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@ -20,55 +19,52 @@ import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class MyController {
@RequestMapping("/")
public String init(Map<String, Object> model, Principal principal) {
model.put("title", "PUBLIC AREA");
model.put("message", "Any user can view this page");
model.put("username", getUserName(principal));
model.put("userroles", getUserRoles(principal));
return "home";
}
@RequestMapping("/")
public String init(Map<String, Object> model, Principal principal) {
model.put("title", "PUBLIC AREA");
model.put("message", "Any user can view this page");
model.put("username", getUserName(principal));
model.put("userroles", getUserRoles(principal));
return "home";
}
@RequestMapping("/secure")
public String secure(Map<String, Object> model, Principal principal) {
model.put("title", "SECURE AREA");
model.put("message", "Only Authorised Users Can See This Page");
model.put("username", getUserName(principal));
model.put("userroles", getUserRoles(principal));
return "home";
}
private String getUserName(Principal principal) {
if (principal == null) {
return "anonymous";
} else {
final UserDetails currentUser = (UserDetails) ((Authentication) principal).getPrincipal();
Collection<? extends GrantedAuthority> authorities = currentUser.getAuthorities();
for (GrantedAuthority grantedAuthority : authorities) {
System.out.println(grantedAuthority.getAuthority());
}
return principal.getName();
}
}
private Collection<String> getUserRoles(Principal principal) {
if (principal == null) {
return Arrays.asList("none");
} else {
Set<String> roles = new HashSet<String>();
final UserDetails currentUser = (UserDetails) ((Authentication) principal).getPrincipal();
Collection<? extends GrantedAuthority> authorities = currentUser.getAuthorities();
for (GrantedAuthority grantedAuthority : authorities) {
roles.add(grantedAuthority.getAuthority());
}
return roles;
}
}
@RequestMapping("/secure")
public String secure(Map<String, Object> model, Principal principal) {
model.put("title", "SECURE AREA");
model.put("message", "Only Authorised Users Can See This Page");
model.put("username", getUserName(principal));
model.put("userroles", getUserRoles(principal));
return "home";
}
private String getUserName(Principal principal){
if(principal == null){
return "anonymous";
}else{
final UserDetails currentUser = (UserDetails) ((Authentication) principal).getPrincipal();
Collection<? extends GrantedAuthority> authorities = currentUser.getAuthorities();
for(GrantedAuthority grantedAuthority : authorities) {
System.out.println(grantedAuthority.getAuthority());
}
return principal.getName();
}
}
private Collection<String> getUserRoles(Principal principal){
if(principal == null){
return Arrays.asList("none");
}else{
Set<String> roles = new HashSet<String>();
final UserDetails currentUser = (UserDetails) ((Authentication) principal).getPrincipal();
Collection<? extends GrantedAuthority> authorities = currentUser.getAuthorities();
for(GrantedAuthority grantedAuthority : authorities) {
roles.add(grantedAuthority.getAuthority());
}
return roles;
}
}
}

View File

@ -15,37 +15,15 @@ import org.springframework.stereotype.Controller;
@Controller
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(AuthenticationManagerBuilder auth)
throws Exception {
auth.ldapAuthentication()
.userSearchBase("ou=people")
.userSearchFilter("(uid={0})")
.groupSearchBase("ou=groups")
.groupSearchFilter("member={0}")
.contextSource()
.root("dc=baeldung,dc=com")
.ldif("classpath:users.ldif");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.ldapAuthentication().userSearchBase("ou=people").userSearchFilter("(uid={0})").groupSearchBase("ou=groups").groupSearchFilter("member={0}").contextSource().root("dc=baeldung,dc=com").ldif("classpath:users.ldif");
}
http
.authorizeRequests()
.antMatchers("/", "/home").permitAll()
.anyRequest().authenticated();
http
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.logoutSuccessUrl("/");
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/", "/home").permitAll().anyRequest().authenticated();
http.formLogin().loginPage("/login").permitAll().and().logout().logoutSuccessUrl("/");
}
}
}