How to get user information for logged in user SpringSecurity + AngularJS

Currently I am using the following to log users into my application. However I would like to use an angular function to actually perform the login. To do this I would like to create a rest web service to authenticate, however all the examples I see on SO use User which I thought was Depreciated. I would also like the service to return information about the user.

The short of what I am asking is how can I change the MyUserDetailsService to be used as a restful service for logging in, or how can I create a service that I can use for logging in that will return the user object after logging in.

<form class="navbar-form" action="/j_spring_security_check" method="post">
   <input class="span2" name="j_username"  type="text" placeholder="Email">
   <input class="span2" name="j_password" type="password" placeholder="Password">
   <input type="submit" class="btn btn-primary" value="Log in"/>
</form>

This is my authenticationManager

<authentication-manager>
    <authentication-provider user-service-ref="MyUserDetailsService">
        <password-encoder ref="passwordEncoder"/>
    </authentication-provider>
</authentication-manager>

Here is the user details service I am currently using for login.

@Service("MyUserDetailsService")
public class MyUserDetailsService implements UserDetailsService {
    private static final Logger logger = LoggerFactory.getLogger(MyUserDetailsService.class);

    private UserManager userManager;

    @Autowired
    public MyUserDetailsService(UserManager userManager) {
        this.userManager = userManager;
    }
    @Override
    @Transactional
    public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException, DataAccessException {
        if ((email == null) || email.trim().isEmpty()) {
            throw new UsernameNotFoundException("Email is null or empty");
        }
        logger.debug("Checking users with email: " + email);

        Users users = userManager.findByEmail(email);

        if (users == null) {
            String errorMsg = "User with email: " + email + " could not be found";
            logger.debug(errorMsg);
            throw new UsernameNotFoundException(errorMsg);
        }

        Collection<GrantedAuthority> grantedAuthorities = toGrantedAuthorities(users.getRoleNames());
        String password = users.getPassword();
        boolean enabled = users.isEnabled();
        boolean userNonExpired = true;
        boolean credentialsNonExpired = true;
        boolean userNonLocked = true;

        return new User(email, password, enabled, userNonExpired, userNonLocked, credentialsNonExpired, grantedAuthorities);
    }

    public static Collection<GrantedAuthority> toGrantedAuthorities(List<String> roles) {
        List<GrantedAuthority> result = newArrayList();

        for (String role : roles) {
            result.add(new SimpleGrantedAuthority(role));
        }

        return result;
    }
}

There are some JSTL tags for Spring Security you can use on the View to do some things. If JSTL is not an option, for whatever reason(s), you can do something like this:

${pageContext.request.userPrincipal.principal.yourCustomProperty}

Also, you could get the Principal in your Controller and set it on the Model.