百科狗-知识改变命运!
--

如何在不同.net版本实现单点登录

桃子1年前 (2023-12-15)阅读数 17#综合百科
文章标签单点代码

经过研究 重写实现了一个可以在不同 net版本中实现单点登录的简单方法 现在和大家分享一下 不足之处还望见谅 ?

 所谓单点登录(Single Sign On就是在多个应用系统中 用户只需要登录一次就可以访问所有相互信任的应用系统 其实对于程序员在技术上要实现就得就是多个不同域名间共享cookie的问题

 最近在为ERP添加一个部署在另一台机器上 链接到原有老系统中的子项目 调用原有老项目中的Login实现单点登录 尝试了N次屡试不成 最后确 定问题 是 net 与 中对cookie的加密/解密方法由此差异 于是经过研究 重写实现了一个可以在不同 net版本中实现单点登录的简 单方法

  共用登陆页代码实现

复制代码 代码如下: protected void btnLogin_Click(object sender EventArgs e) { //认证开票 跳转到原始请求页面 System Web Security FormsAuthentication RedirectFromLoginPage("ejiyuan" false); }

  配置文件

复制代码 代码如下: ? ? ?

  这里 authentication/forms节点最重要的两个属性是name和protection 所有实现单点登录的项目都要是相同的配置就这样 才可以在不同程序中同样的保护级别下读写Cookie 当 protection属性设置为 "All" 通过Hash值进行加密和验证数据都存放在Cookie中 默认的验证和加密使用的Key都存储在machine config文件 我们可以在应用程序的Web Config文件覆盖这些值 默认值如下:

如何在不同.net版本实现单点登录

 

 IsolateApps表示为每个应用程序生成不同的Key 我们不能使用这个 为了能在多个应用程序中使用相同的Key来加密解密cookie 我们可以移除IsolateApps 选项或者更好的方法是在所有需要实现SSO的应用程序的Web Config中设置一个具体的Key值:

 

 如果你使用同样的存储方式 实现SSO只是改动一下Web config而已 必须保证单点中的每个应用程序都有相同的配置 如果单点登录的应用程序是跨不同 net版本的 这里的加密/解密不要使用md

 

  没有登录页的单点登录不需要代码 直接配置就可以了 配置如下

复制代码 代码如下: ? ?

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)