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

基于ASP.NET Identity为两个独立ASP.NET MVC应用搭建统一登录认证系统

统一登录应用搭建入门指引

1. 基础框架搭建

  • 创建新的ASP.NET MVC5项目,选择带身份认证的模板,或者手动引入ASP.NET Identity相关NuGet包
  • 配置项目域名指向login.xyz.com,确保和app-a.xyz.com、app-b.xyz.com处于同一根域(便于后续跨子域身份凭证共享)

2. 多数据库用户验证实现

  • 为App A和App B分别创建独立的IdentityDbContext子类,各自配置对应的数据库连接字符串
  • 登录表单提交后,实例化两个DbContext对应的UserManager,依次调用UserManager.FindAsync(userName, password)验证用户身份
  • 找到匹配用户后,标记该用户所属的应用(A或B),终止后续验证流程

3. 登录后重定向与凭证同步

  • 验证通过后,在登录应用中生成ASP.NET Identity认证Cookie,注意配置Cookie的域为根域.xyz.com,让子应用可以读取
  • 根据用户所属应用,重定向到app-a.xyz.com或app-b.xyz.com
  • 配置两个子应用的machineKey与登录应用完全一致,确保它们能正确解密跨子域的认证Cookie,实现自动登录

4. 核心注意事项

  • 绝对禁止在跨应用请求中明文传递密码,所有验证逻辑必须在登录应用内部完成
  • 封装通用的用户验证服务,避免重复编写两个数据库的验证代码
  • 处理验证失败场景(用户不存在、密码错误),返回清晰的错误提示
  • 确保三个应用的ASP.NET Identity版本一致,避免因版本差异导致的凭证解析问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 17:27:26