|
@@ -13,11 +13,13 @@ import com.izouma.awesomeadmin.model.DepartInfo;
|
|
|
import com.izouma.awesomeadmin.service.DepartInfoService;
|
|
import com.izouma.awesomeadmin.service.DepartInfoService;
|
|
|
import com.izouma.awesomeadmin.service.PowerInfoService;
|
|
import com.izouma.awesomeadmin.service.PowerInfoService;
|
|
|
import com.izouma.awesomeadmin.service.SysMenuService;
|
|
import com.izouma.awesomeadmin.service.SysMenuService;
|
|
|
|
|
+import com.izouma.awesomeadmin.shiro.PhoneCodeToken;
|
|
|
import com.izouma.awesomeadmin.util.CookieUtil;
|
|
import com.izouma.awesomeadmin.util.CookieUtil;
|
|
|
import com.izouma.awesomeadmin.util.ExportExcelUtil;
|
|
import com.izouma.awesomeadmin.util.ExportExcelUtil;
|
|
|
import org.activiti.engine.IdentityService;
|
|
import org.activiti.engine.IdentityService;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.shiro.SecurityUtils;
|
|
import org.apache.shiro.SecurityUtils;
|
|
|
|
|
+import org.apache.shiro.authc.AuthenticationException;
|
|
|
import org.apache.shiro.authc.UsernamePasswordToken;
|
|
import org.apache.shiro.authc.UsernamePasswordToken;
|
|
|
import org.apache.shiro.authz.annotation.RequiresAuthentication;
|
|
import org.apache.shiro.authz.annotation.RequiresAuthentication;
|
|
|
import org.apache.shiro.subject.Subject;
|
|
import org.apache.shiro.subject.Subject;
|
|
@@ -44,15 +46,15 @@ import javax.servlet.http.HttpSession;
|
|
|
public class UserInfoController extends BaseController {
|
|
public class UserInfoController extends BaseController {
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- private UserInfoService userInfoService;
|
|
|
|
|
|
|
+ private UserInfoService userInfoService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- private PowerInfoService powerInfoService;
|
|
|
|
|
|
|
+ private PowerInfoService powerInfoService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- private SysMenuService sysMenuService;
|
|
|
|
|
|
|
+ private SysMenuService sysMenuService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private DepartInfoService departInfoService;
|
|
private DepartInfoService departInfoService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- private IdentityService identityService;
|
|
|
|
|
|
|
+ private IdentityService identityService;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* <p>获取全部记录。</p>
|
|
* <p>获取全部记录。</p>
|
|
@@ -209,12 +211,30 @@ public class UserInfoController extends BaseController {
|
|
|
CookieUtil.addCookie(response, "JSESSIONID", session.getId(), 3 * 24 * 60 * 60);
|
|
CookieUtil.addCookie(response, "JSESSIONID", session.getId(), 3 * 24 * 60 * 60);
|
|
|
}
|
|
}
|
|
|
return new Result(true, "登录成功");
|
|
return new Result(true, "登录成功");
|
|
|
- } catch (Exception e) {
|
|
|
|
|
- //认证登录失败抛出异常
|
|
|
|
|
|
|
+ } catch (AuthenticationException e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
return new Result(false, "登录失败");
|
|
return new Result(false, "登录失败");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @RequestMapping(value = "/loginSms", method = RequestMethod.POST)
|
|
|
|
|
+ @ResponseBody
|
|
|
|
|
+ public Result loginBySms(@RequestParam("phone") String phone, @RequestParam("code") String code, @RequestParam("sessionId") String sessionId, HttpServletRequest request, HttpServletResponse response) {
|
|
|
|
|
+ Subject subject = SecurityUtils.getSubject();
|
|
|
|
|
+ PhoneCodeToken phoneCodeToken = new PhoneCodeToken(phone, code, sessionId);
|
|
|
|
|
+ try {
|
|
|
|
|
+ subject.login(phoneCodeToken);
|
|
|
|
|
+ } catch (AuthenticationException e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ return new Result(false, e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ UserInfo user = (UserInfo) subject.getPrincipal();
|
|
|
|
|
+ identityService.setAuthenticatedUserId(user.getId().toString());
|
|
|
|
|
+ HttpSession session = request.getSession();
|
|
|
|
|
+ CookieUtil.addCookie(response, "JSESSIONID", session.getId(), 3 * 24 * 60 * 60);
|
|
|
|
|
+ return new Result(true, user);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@RequiresAuthentication
|
|
@RequiresAuthentication
|
|
|
@RequestMapping(value = "/logout", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/logout", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
@ResponseBody
|