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

GET方法传递多参数时如何修改LINQ查询实现多条件同时匹配

代码修改方式

直接在原有LINQ的where条件后追加&& g.password == password即可,修改后的完整代码如下:

[Route("api/LoginValues/itemcode/{username}/{password}")]
[HttpGet]
public IEnumerable<AC_Attendance> Get(string username, string password )
{
    var list = from g in db.AC_Attendances 
               where g.username == username && g.password == password
               select g;
    return list;
}

也可以用Lambda形式的LINQ写法实现相同效果:

var list = db.AC_Attendances.Where(g => g.username == username && g.password == password);

注意事项

  • 当前用GET接口传递密码的方式存在安全风险:路径参数会被服务器访问日志、中间代理日志多处留存,容易泄露敏感信息,建议改用POST请求,将账号密码放在加密的请求体中传输
  • 数据库不要明文存储用户密码,建议存储加盐后的密码哈希值,校验时将传入密码做相同的加盐哈希运算后再与库中值比对,避免拖库导致密码直接泄露

内容的提问来源于stack exchange,提问作者Nurul Nabila Mahadi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 09:24:00