Example usage for org.apache.shiro.mgt DefaultSecurityManager getRememberMeManager

List of usage examples for org.apache.shiro.mgt DefaultSecurityManager getRememberMeManager

Introduction

In this page you can find the example usage for org.apache.shiro.mgt DefaultSecurityManager getRememberMeManager.

Prototype

public RememberMeManager getRememberMeManager() 

Source Link

Usage

From source file:com.github.dactiv.fear.user.web.AccountController.java

License:Apache License

/**
 * ?//from  www.j  a v a 2 s .  co  m
 *
 * @param entity              Map
 * @param redirectAttributes spring mvc ??
 *
 * @return ? json
 *
 * @throws IOException
 */
@RequestMapping("update-profile")
public String updateProfile(@RequestParam Map<String, Object> entity, RedirectAttributes redirectAttributes)
        throws IOException {
    // ?? shiro subject ?
    Subject subject = SecurityUtils.getSubject();
    Map<String, Object> user = Casts.cast(subject.getPrincipal());
    // ???
    user.putAll(entity);
    // ??
    Apis.invoke("accountService", "saveUser", user, null);

    DefaultSecurityManager securityManager = (DefaultSecurityManager) SecurityUtils.getSecurityManager();
    // ?????
    AbstractRememberMeManager rmm = (AbstractRememberMeManager) securityManager.getRememberMeManager();
    rmm.rememberIdentity(subject, null,
            new SimpleAuthenticationInfo(subject.getPrincipals(), user.get("password")));

    // ? subjectDao, ???
    securityManager.getSubjectDAO().save(subject);

    redirectAttributes.addFlashAttribute("message", "??.");

    return "redirect:/account/user-profile";
}