Book Image

Spring Security 3.1

By : Robert Winch, Peter Mularien
Book Image

Spring Security 3.1

By: Robert Winch, Peter Mularien

Overview of this book

<p>Knowing that experienced hackers are itching to test your skills makes security one of the most difficult and high-pressure concerns of creating an application. The complexity of properly securing an application is compounded when you must also integrate this factor with existing code, new technologies, and other frameworks. Use this book to easily secure your Java application with the tried and trusted Spring Security framework, a powerful and highly customizable authentication and access-control framework.<br /><br />"Spring Security 3.1" is an incremental guide that will teach you how to protect your application from malicious users. You will learn how to cleanly integrate Spring Security into your application using the latest technologies and frameworks with the help of detailed examples.<br /><br />This book is centred around a security audit of an insecure application and then modifying the sample to resolve the issues found in the audit.<br /><br />The book starts by integrating a variety of authentication mechanisms. It then demonstrates how to properly restrict access to your application. It concludes with tips on integrating with some of the more popular web frameworks. An example of how Spring Security defends against session fixation, moves into concurrency control, and how you can utilize session management for administrative functions is also included.<br /><br />"Spring Security 3.1" will ensure that integrating with Spring Security is seamless from start to finish.</p>
Table of Contents (24 chapters)
Spring Security 3.1
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Viewing additional user details


To assist in this area, we'll add the ability to view the current account to the JBCP Calendar application. We'll use this page to illustrate how the richer person and inetOrgPerson LDAP schemas can provide additional (optional) information to your LDAP-enabled application.

You may have noticed that this chapter came with an additional controller named AccountController. You can see the relevant code as follows:

src/main/java/com/packtpub/springsecurity/web/controllers/AccountController.java

...
@RequestMapping("/accounts/my") 
public String view(Model model) { 
  Authentication authentication =
    SecurityContextHolder.getContext().getAuthentication(); 
  // null check on authentication omitted
  Object principal = authentication.getPrincipal(); 
  model.addAttribute("user", principal); 
  model.addAttribute("isLdapUserDetails", principal instanceof 
    LdapUserDetails); 
  model.addAttribute("isLdapPerson", principal instanceof Person); 
  model.addAttribute...