问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C/S中利用域控进行SSO的简单实现方式

发布网友 发布时间:2023-06-27 16:55

我来回答

1个回答

热心网友 时间:2024-10-21 03:19

  我先简单的介绍一下我的需求 我希望我做的软件中 可以与域控集成 实现单点登录 且不需要额外输入帐号秘密 当然这是在已经登陆到域的前提下

  为此我翻过很多资料 Windows 确实提供了 API 来操作登录 但小弟比较愚笨 一直感觉这些 API 使用起来很笨拙 且根据系统需求 往往进行域控帐号认证 都是在服务器上进行的 因为你的机器可能不能访问到我的域控服务器 对于一般的 IT 服务器部署 域控服务器都是在一个安全区域里面的

  在此之前 我已经实现了一个WebService 提供了一个 Login(UserName Password) 的方法 Login 可以在域控上进行认证 但这个方法必须在客户端自己做一个登陆窗体

  一次偶然的机会 我发现 如果在Webservice 的 IIS 上设置了 NT 集成用户认证 那么在非域环境中登陆的时候 是会自动弹出一个登陆密码的框框的 其实这点我早就应该知道了 只是以前都是在网页中弹出的 没想到在 C/S 环境中也会自动弹出 根据这一个发现 我设计了一个简单的 SSO 登陆方式

  首先 实现一个Webservice 我选用的 C# 实现的 微软这点还是做得非常易用的 这个 Service 只需要提供一个方法

  public string GetUserName() { return User Identity Isauthorized?User Identity Name }

  实现也很简单 就从当前认证的用户信息中获取用户的名字就可以了

  然后 发布这个服务 并在IIS 中设置账户的安全信息是集成 NT 域控认证 同时取消匿名访问

  这样就可以 现在你只需要在你的应用中 在刚开始初始化的时候 调用一下这个WebServie 如果获取的账号名不为空 就表示账户已经在域控进行认证了

lishixin/Article/program/net/201311/13181
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...每次文字比较多超出屏幕大小就不知道怎么截屏,求教大佬! 我国政策性 广西明士清医疗器械有限公司怎么样? 广西禾力药业有限公司怎么样? 广西龙母圣商贸有限公司怎么样? 安徽合肥有什么去痔的好地方 我女朋友的谷丙转氨酶过高(达到121),而且两对半检测为阴性,是肝功能有... 泸州丽人女子医院开展科室 自由之子本次世界杯是否将在小组赛中被菜? 世界杯谁会嬴 女性蝴蝶种类 女性蝴蝶常见吗 鸭子杀狼人能开饭吗 鸭鸭杀开饭合理么 木乃伊1中的主角木乃伊是谁扮演的 四川工商学院眉山校区地址 四川工商学院学风是什么 四川工商学院的学风是什么 浙江2021年高考分数线 上虞国际大酒店的介绍 泰坦尼克号里有什么插曲? ...购买了一个足浴盆作为生日礼物送给妈妈.墨墨妈妈在使用该足浴盆泡脚... 墨墨的妈妈两次购买橘子80KG(第二次多于第一次)共付款255元,请问默默... “洛神”用英语怎样翻译? 昨夜情书许辞在哪里可以看 掌上追韩剧有电视版吗 掌上追韩剧怎么不能用了 掌上追韩剧安全吗 为什么掌上追韩剧这么慢 姐姐名下有房妹妹可以落户吗? 禽华的解释禽华的解释是什么 中国在封建社会逐沦为半封建半殖民的社会过程中,其社会结构和阶级... 为什么说生育是一种自然的生理现象? 电脑放柜子里哪种无线鼠标可以用 2020高三班主任上学期工作总结 加拿大一枝黄花的功效与作用 央视名嘴有哪些人 昔日央视名嘴王小丫,现状如何 央视前名嘴王小骞近照曝光,没被关注,反遭质疑:鼻子好吓人,怎么回事?_百... 张子扬的文学专著 防城港市的地域特色有哪些 ...跑过来抱住男主一起被箭穿透,这是什么电影?抖音挺火 MAYA安装问题请教? 我要精确的玛雅6.5的序列号 depart是什么意思 求《怪谈新耳袋》全集。 北京现代朗动加92还是95 18年轩逸和12年现代朗动区别 刘泽龙,怎么签名好看 广汽三菱欧蓝德对比北京现代途胜