因为公司的所有链接数据库的都是用的api接口  最近做了一个用api接口登陆

function Login() {
if (!Validate()) {
return false;
}
var para = {};
para.action = "login_by_api";
para.login_name = $.trim($("#txtLoginName").val());
para.password = $.trim($("#txtPassword").val());
$(".login-btn").attr("disabled", "disabled");
$.post("/handler/LoginHandler.ashx", para, function (data) {
if (data.ResultCode == 0) {
var result = data.ResultData[0];
loginInfo(result);
GetMessageCount();
NeedSetSearch();
location.href = location.href;
}
else {
$("#txtPassword").val("");
$("#txtLoginName").val("")
$(".login-error").html("用户名或密码错误");
ClearLogin(false);
}
$(".login-btn").removeAttr("disabled");
}, "json");
return true;
}

首先在控制器中调用一般处理程序

case "login_by_api":
{
#region 获取参数

string loginName = context.Request["login_name"];
string password = context.Request["password"];

#endregion

//执行查询
message = LoginByApi(loginName, password);
} break;

private string LoginByApi(string loginName, string password)
{
var result = new Result<object>();
try
{
var jss = new JavaScriptSerializer();
//API参数
ApiParam apiParam = new ApiParam();
apiParam.Add("login_name", loginName);
apiParam.Add("password", password);
apiParam.Add("source", 2);

var data = jss.Serialize(RequestAPIManager.Instance.Send(WebConstants.Login, apiParam.ToString()));
var rult = jss.Deserialize<ApiRult<UserInfo>>(data);
if (rult.Code == 0 && rult.Data != null && rult.Data.Code == "0")
{
List<object> ls = new List<object>();
SunTime03.Function.EcanSecurity es = new SunTime03.Function.EcanSecurity();
string ln = es.symmetry_Encode(loginName, "LoginCheck");
string pwd = es.symmetry_Encode(password, "LoginCheck");
var ui = rult.Data;
ls.Add(new { UserInfo = ui, LoginName = ln, Password = pwd });
result.ResultCode = ResultCodes.Success;
result.ResultData = ls;
SetCookie(ui.Account_Name, password, ui.Account_ID.ToString(), ui.Full_Name, "", "", "", "", "", ui.login_id, "", ui.Organization_ID, ui.Mobile, ui.Email, ui.Organization_Name, ui.NickName, ui.Token);
}
else
{
result.SetFail(ResultCodes.NotMatchedResource, "登陆失败!");
}

}
catch (Exception ex)
{
result.SetFail(ex.Message.ToString());
LogHelper.WriteLog(typeof(LoginHandler), ex);
}
return new JavaScriptSerializer().Serialize(result);
}

让后就是传入api参数,得到返回值

就这样的

转载于:https://www.cnblogs.com/Lyl-backpack/p/4653775.html

利用api接口来实现web网页登陆相关推荐

  1. 电商如何利用API接口获取商品信息数据

    随着电商和互联网的快速发展,API(应用程序编程接口)的重要性也越来越明显.API接口可以让不同系统之间进行数据交互和通信,进而实现更高效的业务协同和数据共享.在电商业务中,API可以帮助企业实现多个 ...

  2. python如何对接api接口_Python做Web API对接---查看接口

    3:Cookies(用户验证,基于HTTP协议的)之前的文章已经说了如何通过API登录验证,这里就不多说了,需要看的话,点击链接查看即可:https://club.kingdee.com/forum. ...

  3. 了解利用API接口通过网格策略的增长模式

    众所周知,在投资里要实现长期以及稳定的盈利需要一套优秀的策略来执行.而策略有很多,可能很多人不知道要选择怎样的策略. 在此给大家科普一下所谓的网络交易. 网格交易是一种量化交易策略 ,可以帮助投资者在 ...

  4. python随机图片api_【python】7个随机二次元图片api接口汇总(附网页调用示例)...

    1. 韩小韩API 1.1. 接口文档 1.2. 请求地址 1.3. 请求方式 get 1.4. 请求参数 字段类型描述returnstr响应数据格式,可选json 1.5. 示例代码 import ...

  5. ap接口 php_小白php API初体验 php api文档 php api接口开发 php web ap

    这里的php 写API其实就是指提供一个WebServiceWebSite : 1.以html格式响应返回 2.由用户通过浏览器来接入 WebService : 1.以json/Xml格式返回 2.由 ...

  6. Golang实现web api接口调用及web数据抓取[get post模式]

    前沿: 继续扩展我的golang服务端,这边有些数据库是没有权限的,对方给了我webservices的接口,针对异常的数据,我要去抓数据,再次分析,golang貌似没有python那么多的模拟浏览器访 ...

  7. 动态实现web网页登陆和注册功能[保姆级教学]

  8. 鸿蒙开发访问webapi,Web API接口

    #e# 3.集合和分页的处理 在很多接口里面,我们都需要用到分页的处理,Web API也不例外,这样可以提交数据检索效率,减少服务器数据处理的压力,同时也提交客户端的数据显示速度. 一般的集合接口定义 ...

  9. 微信公众平台卡券API接口开发指南

    文章目录 说明 卡券术语介绍 卡券生命周期流程图 准备 申请开发账号 公众平台开发配置 公众号开发信息配置 填写服务器配置并验证有效性 申请微信认证及开通微信卡券功能 卡券分类 普通卡券 会员卡券 朋 ...

最新文章

  1. 关于IT企业如何建立内部wiki
  2. Linux内核的并发与竞态、信号量、互斥锁、自旋锁
  3. 我写的第一本书《TypeScript 入门教程》
  4. 网易云信联手神州信息,金融视频营业厅被央视点赞
  5. linux版azure应用服务,【应用服务 App Service】解决无法从Azure门户SSH登录问题
  6. python调用ctypes中windll中的方法超时处理_python中使用ctypes调用MinGW生成的动态链接库(dll)...
  7. hook 循环点击事件用哪个_JS 事件循环 event loop,看完你可以答对 90% 的事件循环题...
  8. 宏锦软件 Android 的 ListView 使用详解
  9. 信息系统项目管理师---运筹学计算
  10. 2019-06-03 Java学习日记之多线程下GUI
  11. win10语音识别的设置和开启
  12. MATLAB语言初步学习(二)
  13. hive窗口函数最全总结
  14. oracle中asm是什么,什么是ASM?
  15. 用python分析《三国演义》中的社交网络
  16. 白帽黑客必备的15个技能点
  17. vue综合项目——悦听音乐播放器
  18. rootkit后门程序开发测试过程
  19. Yolov5学习笔记(1)——训练出自己的模型
  20. APP启动时间检测——u-apm

热门文章

  1. php function 输出,PHP中常用的输出函数总结
  2. java统计一个字符串中每个字符出现的次数_剑指offer算法题054:字符流中第一个不重复的字符...
  3. maven profile实现多环境构建 (单项目多套配置)
  4. Linux16.04下配置Caffe,Pycaffe,matcaffe
  5. 【ROS-rviz】发布一个图像结果 topic
  6. RHEL/CentOS/Fedora各种源
  7. NS2安装笔记---SUSE Linux
  8. windows10中的Ubuntu
  9. 模型监控psi_PSI和CSI:前2个模型监控指标
  10. 达尔文进化奖_使用Kydavra GeneticAlgorithmSelector将达尔文进化应用于特征选择