You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Web API与Xamarin Forms根据用户名密码获取SQL Server表中ID

实现基于用户名密码获取用户ID(Xamarin + Web API + SQL Server)

需求与技术栈

  • 需求:仅通过用户名和密码从对应的数据表中获取用户ID
  • 技术实现:采用Xamarin跨平台框架,通过Web API作为中间层连接SQL Server数据库

Web API 控制器代码

这部分负责接收前端传递的用户名和密码,查询SQL Server中的AspNetUsers表,返回匹配的用户ID:

[HttpGet]
[ActionName("XAMARIN_Login")]
public IHttpActionResult GetId(string username, string password)
{
    var result = db.AspNetUsers
        .Where(x => x.UserName == username && x.PasswordHash == password)
        .Select(x => x.Id)
        .FirstOrDefault();
    return Ok(result);
}

Xamarin 端 RestClient 代码

这部分负责调用上面的Web API接口,传递用户名和密码参数并获取返回的用户ID:

private const string WebloginUrl = "你的Web API接口地址/api/控制器名/XAMARIN_Login";

public async Task<string> GetUserIdAsync(string username, string password)
{
    var httpClient = new HttpClient();
    var queryString = $"username={Uri.EscapeDataString(username)}&password={Uri.EscapeDataString(password)}";
    var response = await httpClient.GetAsync($"{WebloginUrl}?{queryString}");
    
    if (response.IsSuccessStatusCode)
    {
        return await response.Content.ReadAsStringAsync();
    }
    return null;
}

实用提示

  • 实际项目中不要直接传递明文密码,建议前端先对密码进行哈希处理(比如SHA256),再和后端数据库中存储的哈希值匹配,避免密码在传输过程中泄露。
  • 确保Web API的接口地址配置正确,同时给Xamarin应用开启网络访问权限。

内容的提问来源于stack exchange,提问作者waqas waqas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:00:23