登录/退出/验证码
登录
接口地址
- 接口地址:
/login
- 请求类型:
POST
登录功能实现
需要继承com.wueasy.gateway.security.service.LoginService
接口,并实现里面的login
验证密码方法。
登录成功,创建一个session
,并返回用户信息,权限信息
3.4版本以上
session
对象新增拓展对象ExtendedObject
,
使用方式:
- 在创建session的时候指定泛型
Session<String> session = new Session<>();
- 在方法
getTypeReference()
中,设置转换的类型,需要和创建session的泛型匹配
@Service
public class LoginServiceImpl implements LoginService{
@Override
public Session<?> login(HttpServletRequest request, HttpServletResponse response) {
String loginNo = request.getParameter("loginNo");//用户名
String password = request.getParameter("password");//密码
if(StringHelper.isBlank(password)){
throw new InvokeException(-2,"密码不能为空!");
}
if(!"wueasy".equals(loginNo) || !"123456".equals(password)) {
throw new InvokeException(-3,"账号或密码不正确!");
}
//登录,创建一个session,并返回用户信息,权限信息
Session<String> session = new Session<>();
User user = new User();
user.setIsSystem((short) 1);//是否超级管理员(1.是)
user.setState((short) 1);//用户状态
user.setUserId("1");
user.setUsername("wueasy");
session.setUser(user);
//菜单权限
List<Menu> menuList = new ArrayList<>();
session.setMenuList(menuList);
//可访问的url地址权限,用户有权限的url地址集合
Set<String> linkUrlSetAll = new HashSet<String>();
session.setUrlAuthList(linkUrlSetAll);
//拓展信息对象
session.setExtendedObject("1234");
return session;
}
/**
* 返回session泛型
*/
@Override
public TypeReference<?> getTypeReference() {
//需要和登录返回的session对象一致
return new TypeReference<Session<String>>() {};
}
}
3.x版本
/**
*
* @author: fallsea
* @version 1.0
*/
@Service
public class LoginServiceImpl implements LoginService{
@Override
public Session login(HttpServletRequest request, HttpServletResponse response) {
String loginNo = request.getParameter("loginNo");//用户名
String password = request.getParameter("password");//密码
if(StringHelper.isBlank(password)){
throw new InvokeException(-2,"密码不能为空!");
}
if(!"wueasy".equals(loginNo) || !"123456".equals(password)) {
throw new InvokeException(-3,"账号或密码不正确!");
}
//登录成功,创建一个session,并返回用户信息,权限信息
Session session = new Session();
User user = new User();
user.setIsSystem("1");//是否超级管理员(1.是)
user.setState("1");//用户状态
user.setUserId(1L);
user.setUsername("wueasy");
session.setUser(user);
//菜单权限
List<Menu> menuList = new ArrayList<>();
//可访问的url地址权限,把用户权限url地址存入此处
Set<String> linkUrlSetAll = new HashSet<String>();
session.setMenuList(menuList);
session.setUrlAuthList(linkUrlSetAll);
return session;
}
}
退出
退出会清空session信息
- 接口地址:
/logout
验证码
提供图形验证码接口
- 接口地址:
/captcha
配置验证码类型:PNG
静态验证码,GIF
动态验证码,默认PNG
wueasy:
gateway:
captcha:
type: GIF