3.9K Star 18.4K Fork 5.3K

卓源软件 / JeeSite 4.x and 5.x

 / 详情

App端ajax怎么登录?

已完成
创建于  
2018-03-19 14:58

手机APP端ajax怎么登录?hander里面添加 "Accept", "application/json"
访问地址http://127.0.0.1:8980/a/login?_ajax=true
用户名:username=system
密码:password=admin
手机登录:mobileLogin=true
请求方式:POST
返回结果
{"username":"system","rememberMe":false,"rememberUserCode":false,"params":"","shiroLoginFailure":"org.apache.shiro.authc.AuthenticationException","message":"登录账号不能为空.","isValidCodeLogin":false,"result":"false"}

还有 新版的获取验证码的地址是什么?

评论 (1)

jinjc 创建了任务

4.0的登录方式和老版本有点区别:

系统默认登录设置了DES加密,如果不想加密,将secretKey设置为空(secretKey: ~)就可以,配置如下(jeesite.yml):

shiro:
  loginSubmit:
    # 登录提交信息安全Key,加密用户名、密码、验证码,后再提交(key设置为3个,用逗号分隔)
    secretKey: thinkgem,jeesite,com

如果开启加密,请先引入DES加密工具:

JS:<script src="${ctxStatic}/common/des.js?${_version}"></script>

Java: com.jeesite.common.codec.DesUtils

引入完成之后就可以通过如下方法进行调用了:

JS:

<script>
var secretKey = '${@Global.getConfig("shiro.loginSubmit.secretKey")}';
var username = DesUtils.encode('system', secretKey);
var password = DesUtils.encode('admin', secretKey);
console.log('&username=' + username + '&password=' + password);
</script>

Java:

String secretKey = Global.getConfig("shiro.loginSubmit.secretKey");
String username = DesUtils.encode("system", secretKey);
String password = DesUtils.encode("admin", secretKey);
System.out.println("&username=" + username + "&password=" + password);

以上两种语言,输出结果相同如下:

&username=F3EDC7D2C193E0B8DCF554C726719ED2&password=235880C505ACCDA5C581A4F4CDB81DA0

下面我们就可以拿着这个用户名密码进行测试登录了。

通过JS的Ajax或者通过Java的HttpClient进行请求如下地址:

http://127.0.0.1:8980/js/a/login?__login=true&__ajax=json&username=F3EDC7D2C193E0B8DCF554C726719ED2&password=235880C505ACCDA5C581A4F4CDB81DA0

4.0获取验证码地址:/validCode

卓源软件 关闭了任务

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
6732 thinkgem 1651893329
Java
1
https://gitee.com/thinkgem/jeesite4.git
git@gitee.com:thinkgem/jeesite4.git
thinkgem
jeesite4
JeeSite 4.x and 5.x

搜索帮助