* samples/contacts/src/sample/contact/SecureIndexController.java:

Prevent a NullPointerException when no SecureContext can be found.
  Instead, throw a real exception, explaining what's wrong.
This commit is contained in:
Francois Beausoleil 2004-03-23 17:27:04 +00:00
parent 95d7ac1bf3
commit 1490e8a707
1 changed files with 9 additions and 2 deletions

View File

@ -17,6 +17,7 @@ package sample.contact;
import net.sf.acegisecurity.Authentication; import net.sf.acegisecurity.Authentication;
import net.sf.acegisecurity.GrantedAuthority; import net.sf.acegisecurity.GrantedAuthority;
import net.sf.acegisecurity.AuthenticationCredentialsNotFoundException;
import net.sf.acegisecurity.context.ContextHolder; import net.sf.acegisecurity.context.ContextHolder;
import net.sf.acegisecurity.context.SecureContext; import net.sf.acegisecurity.context.SecureContext;
@ -65,8 +66,14 @@ public class SecureIndexController implements Controller, InitializingBean {
public ModelAndView handleRequest(HttpServletRequest request, public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException { HttpServletResponse response) throws ServletException, IOException {
Authentication currentUser = ((SecureContext) ContextHolder.getContext()) SecureContext secureContext = ((SecureContext) ContextHolder.getContext());
.getAuthentication(); if (null == secureContext) {
throw new AuthenticationCredentialsNotFoundException(
"Authentication credentials were not found in the " +
"SecureContext");
}
final Authentication currentUser = secureContext.getAuthentication();
boolean supervisor = false; boolean supervisor = false;
GrantedAuthority[] granted = currentUser.getAuthorities(); GrantedAuthority[] granted = currentUser.getAuthorities();