我先简单的介绍一下我的需求。我希望我做的软件中,可以与域控集成,实现单点登录,且不需要额外输入帐号秘密。当然这是在已经登陆到域的前提下。
为此我翻过很多资料。Windows
确实提供了
API
来操作登录。但小弟比较愚笨,一直感觉这些
API
使用起来很笨拙。且根据系统需求,往往进行域控帐号认证,都是在服务器上进行的。因为你的机器可能不能访问到我的域控服务器。对于一般的
IT
服务器部署,域控服务器都是在一个安全区域里面的。
在此之前,我已经实现了一个WebService
,提供了一个
Login(UserName,Password)
的方法,
Login
可以在域控上进行认证。但这个方法必须在客户端自己做一个登陆窗体。
一次偶然的机会,我发现,如果在Webservice
的
IIS
上设置了
NT
集成用户认证,那么在非域环境中登陆的时候,是会自动弹出一个登陆密码的框框的。其实这点我早就应该知道了,只是以前都是在网页中弹出的,没想到在
C/S
环境中也会自动弹出,根据这一个发现,我设计了一个简单的
SSO
登陆方式:
首先,实现一个Webservice
,我选用的
C#
实现的,微软这点还是做得非常易用的。这个
Service
,只需要提供一个方法:
publicstringGetUserName(){returnUser.Identity.Isauthorized?User.Identity.Name:"";}
实现也很简单,就从当前认证的用户信息中获取用户的名字就可以了。
然后,发布这个服务,并在IIS
中设置账户的安全信息是集成
NT
域控认证,同时取消匿名访问。
这样就可以,现在你只需要在你的应用中,在刚开始初始化的时候,调用一下这个WebServie,
如果获取的账号名不为空,就表示账户已经在域控进行认证了。
关键是,这个方法可以让你在很多地方进行复用,使用也很简单。不过前提必须是网络应用。那种单机应用就不怎么适合了。
分享到:
相关推荐
在本文中,我们将探讨SSO的原理,以及如何通过提供的压缩包文件实现个人SSO系统。 SSO的核心思想是将用户认证过程集中管理,当用户成功登录到一个“认证中心”后,可以在其他已集成的系统中无缝漫游。这减少了用户...
如果项目对SSO的需求较低,且不想改变被集成系统的原有结构,可以采取以下简单实现方式: - **建立映射关系**:首先,你需要创建一个映射表或利用LDAP来存储用户在门户系统与其他系统间的用户名对应关系。确保每个...
spring boot整合spring security 实现SSO单点登陆 完整DEMO. ...2、先后启动SsoServer、sso-resource、sso-client1、sso-client2 3、访问http://sso-taobao:8083/client1/ 或 http://sso-tmall:8084/client2/
在这个项目中,我们将深入探讨如何利用Redis或Memory Cache以及cookie来实现SSO。 首先,SSO的核心理念是让用户在访问多个相互关联的应用时只需要登录一次,之后就能在这些应用间自由切换,无需重复认证。这对于...
本文将详细介绍SSO的基本概念及其二级域名和跨域的实现方式。 SSO的核心在于提供一种机制,使得用户在首次登录后,其身份认证信息能够被其他系统识别,从而实现无缝切换和访问。通常,SSO的实现涉及到身份验证...
在本文中,我们将探讨SSO的基本原理、实现方式以及一个简单的SSO系统的设计。 **SSO基本原理** SSO的核心是通过共享一种信任关系来实现跨系统的身份验证。这种信任通常由一个中央认证服务(CAS,Central ...
本项目"laravel开发-sso-broker"旨在利用Laravel构建一个SSO代理,基于Jasny/SSO库,以实现跨多个Laravel应用的SSO功能。 **1. Jasny/SSO 库介绍** Jasny/SSO是由荷兰开发者Arnout Boks创建的一个轻量级的SSO解决...
- **综合职责**: 这个角色通常涵盖了多个方面的工作,如设计、开发和服务目录项的实现等。 ### 二、角色职责总结 通过以上介绍,我们可以看出vCAC 6.0中的各个角色分工明确,每个角色都承担着特定的任务和职责,...
CAS框架SSO的实现
超全 Lotus Domino Xpages 开发资料——单点登录SSO的实现方式 大全通过分类提供给大家,请大家根据需要下载全开源, 并且一看就懂,不保留 https://blog.csdn.net/weijia3624/article/details/107013401
二、SSO实现方式 1. **基于Cookie的实现**:最简单的方式是使用共享Cookie。每个应用都会设置相同的Cookie,当用户在一个应用中登录后,其他应用可以通过检查Cookie来确认用户已经登录。 2. **基于JWT(JSON Web ...
利用springMvc 实现的简单的单点登录Demo,内含三个小Mavn项目分别是 1、认证中心SSOServer 2、子系统1SSOClient1 3、子系统2SSOClient2 文章请参考 http://blog.csdn.net/qq_31183297/article/details/79419222
.NET下的单点登录(Single Sign-On,简称SSO)是一种让用户在多个应用系统间自由切换,只需要一次登录验证的身份管理技术。它提升了用户体验,减少了密码管理的复杂性,尤其适用于企业内部或拥有多个子系统的环境。...
SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次进行身份验证。在本文中,我们将深入探讨如何使用SSM(Spring MVC、Spring、MyBatis)框架结合Redis...
【ASP.NET编程知识】浅谈谁都能看懂的单点登录(SSO)实现方式 单点登录(SSO)是一种允许用户在一个应用系统中登录后,无需再次认证即可访问其他相互信任的应用系统的机制。这提高了用户体验,简化了身份验证过程...
在Java Web环境中,常见的实现方式包括使用票据(Ticket)或令牌(Token)。 2. **主要组件**: - **SSO服务器**(如CAS、Keycloak、OAuth2等):负责处理用户的登录请求,验证用户凭证,并为已验证的用户提供安全...
实现了单点登录功能。访问 http://localhost:8090/ssoClient/index/index 或者 http://localhost:8090/ssoClient/login 进行登录 登录成功后会跳转到 http://localhost:8090/ssoClient/index/index。 然后再访问 ...