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

40个Asp.net WebForm网站合并:多独立登录表认证适配方案咨询

整合Asp.net WebForm独立网站的可行技术方案

方案1:子应用隔离+跨应用身份票据共享

把每个原有网站配置为根站点的IIS子应用(而非单纯文件夹),让每个子应用拥有独立的应用池和web.config权限,可单独配置认证模式,具体实现要点:

  • 所有子应用与根站点的web.config中配置完全相同的<machineKey>,确保Forms身份验证票据能跨应用识别
  • 每个子应用保留自身的<authentication mode="Forms">配置,指定专属登录页、Cookie名称(或共用Cookie但限制路径),继续使用原有SQL用户表和授权规则
  • 根站点维护统一的用户-站点权限映射表(可定期同步各站点的权限数据,或提供接口实时查询),首页展示当前用户有权访问的子应用列表,点击后直接跳转至对应子应用的登录页(若未登录)或已授权页面(若已有有效票据)

方案2:根站点做权限路由+反向代理转发

以根站点作为统一入口,负责权限校验和路由转发,各子应用保持完全独立的认证逻辑:

  • 用IIS的ARR模块配置反向代理,将根站点的子路径请求转发至对应独立站点
  • 根站点维护用户可访问站点的权限表,用户访问首页时展示有权限的站点链接;点击链接时,先检查用户是否持有对应子站点的登录Cookie,未登录则跳转至该子站点的原生登录页,登录成功后返回对应站点页面
  • 各子应用仍使用自身的web.config配置认证模式、用户表,与根站点完全隔离,不受根配置影响

方案3:共享身份服务+站点独立授权改造

搭建轻量级统一身份服务,保留各站点的独立用户校验逻辑,仅统一身份凭证管理:

  • 开发一个简单的身份验证服务(如Asp.net Web API),提供跨站点登录接口,接收站点标识、用户名、密码
  • 登录接口调用对应站点的用户校验逻辑(直接连接站点数据库或调用站点暴露的校验API),验证通过后生成包含用户ID、可访问站点列表的JWT令牌
  • 各站点在Global.asax的Application_AuthenticateRequest事件中添加JWT令牌验证逻辑,确认用户有权访问本站后,再执行原有授权规则
  • 根首页读取JWT令牌中的可访问站点列表,展示跳转链接;用户点击后,站点自行完成后续权限校验

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 12:10:35