当前位置: 首页 > 知识库问答 >
问题:

C#ASP。NET单点登录实现

上官高逸
2023-03-14

我的任务是为我们的客户实施单点登录,作为我们下一个版本的一部分。流程如下:

  1. 用户使用学校提供给他/她的学生ID/密码登录学校的主要门户系统
  2. 用户点击我公司产品的链接。
  3. 用户会自动进入仪表板页面,就好像他们刚刚通过我们网站上的登录表单登录一样。

因此,有两种机制可以将用户验证到我们的站点:

  1. 访问我们产品的主页,并使用我们存储在本地系统中的电子邮件/密码登录。
  2. 使用单点登录,学生已经使用学生id和密码登录了学校的主系统。

如果我们的产品是在ASP中实现的。NET(与Java/Ruby相反),我们应该使用CAS、JOSSO或其他第三方单点登录产品吗?或者有什么可以提供给。NET环境,这对我们来说更简单。网络公司?

共有3个答案

墨安阳
2023-03-14

有几个开箱即用的身份提供者支持SSO,还有一些第三方**服务。

**第三方服务的唯一问题是,他们可能会对每个用户/月收费,这可能非常昂贵。

一些可用的工具以及的API。净额为:

  • Auth0
  • IdentityServer提供的IdentityExpress(带管理UI)
  • 以身份服务为中心
  • Okta标识(SAML 2.0)
  • OneLogin

如果您决定使用您的实现,您可以使用下面按编程语言分类的框架。

C#:

  • IdentityServer3(OAuth/OpenID协议,OWIN/Katana)
  • IdentityServer4(OAuth/OpenID协议,ASP.NET核心)
  • Okta提供的OAuth 2.0

JavaScript:

  • 护照OpenidConnect(node.js)
  • oidc提供程序(node.js)
  • openid客户端(node.js)

蟒蛇:

  • pyoidc
  • Django OIDC提供商

我会选择Auth0作为一项服务,因为它对前7000名用户是免费的,支持多种语言,不需要做太多的工作。然而,如果您需要一个更健壮、自我管理和更便宜的解决方案,我会配置IdentityServer4和ASP。NET核心应用程序,并根据需要添加身份验证提供程序。

Auth0和IdentityServer4解决方案都使用OAuth/OpenID协议,还支持WS-Federation和SAML 2.0集成。

公羊子真
2023-03-14

我迟到了,但对于选项1,我会选择IdentityServer3(.NET 4.6或更低版本)或IdentityServer4(与Core兼容)。

您可以重用应用程序中现有的用户存储,并将其插入IdentityServer的用户存储。然后,客户端必须指向您的IdentityServer作为开放id提供者。

封烈
2023-03-14

有多个选项可用于实现SSO。NET应用程序。

在线查看以下教程:

单点登录基础,2012年7月

http://www.codeproject.com/Articles/429166/Basics-of-Single-Sign-on-SSO

GaryMcAllisterOnline:ASP。NET MVC 4、ADFS 2.0和第三方STS集成(IdentityServer2),2013年1月

http://garymcallisteronline.blogspot.com/2013/01/aspnet-mvc-4-adfs-20-and-3rd-party-sts.html

第一个使用ASP。NET Web窗体,而第二个窗体使用ASP。净MVC4。

如果您的需求允许您使用第三方解决方案,也可以考虑使用OpenID。有一个名为DotNetOpenAuth的开源库。

有关更多信息,请阅读MSDN博客文章“将OpenAuth/OpenID与现有ASP集成”。NET应用程序使用通用提供程序。

希望这有帮助!

 类似资料:
  • 我在我们的内部网络上有两个域:- 域名 域名B 两个域都可以相互通信,但它们彼此不信任。 所以目前我已经部署了我的asp。net MVC web应用程序,但我需要在DomainB Active directory上的用户才能登录到asp。net mvc使用其domainB AD凭据。我对asp中的windows身份验证和表单身份验证都持开放态度。净mvc。 但是客户端的唯一要求是,他们需要访问as

  • 本文向大家介绍.net 单点登录的设计与实践,包括了.net 单点登录的设计与实践的使用技巧和注意事项,需要的朋友参考一下 前言 最近轮到我在小组晨会来分享知识点,突然想到单点登录,准备来分享下如何实现单点登录,所以有了下文。实现方案以及代码可能写得不是很严谨,有漏洞的地方或者错误的地方欢迎大家指正。   刚开始头脑中没有思路,直接在博客园里面看看别人是如何来实现的,看了几篇文章发现,发现解决方案

  • 注意 所有OAuth2 SSO和资源服务器功能在版本1.3中移动到Spring Boot。您可以在Spring Boot用户指南中找到文档 。 该项目提供从CloudFoundry服务凭据到Spring Boot功能的自动绑定。如果您有一个称为“sso”的CloudFoundry服务,例如,使用包含“client_id”,“client_secret”和“auth_domain”的凭据,它将自动绑

  • 地址URL https://api.es.xiaojukeji.com/river/Login/getLoginEncryptStr 返回数据格式 JSON 请求方式 GET 是否需要登录 是 关于登录授权,参见 如何登录授权 访问授权限制 暂无 请求参数 名称 类型 必选 描述 client_id string yes 申请应用时分配的AppKey access_token string yes

  • 接口说明: 接口类型:主动调用接口。 接口作用:可通过调用该接口来获取一个临时的URL,通过访问该URL即可直接进入某账号的智齿客服后台,从而实现单点登录的业务。 请求方式: POST 请求地址: https(http)://www.sobot.com/api/oss/5/direct_url 注:使用https请求返回的登录链接是https协议的,使用http请求,返回的登录链接就是http协

  • 我是一个新手在jeter工具。我想测试登录到一个asp.net网站。但是我在网上搜索了2天后没有成功。 我在下面列出了我遵循的步骤: > 添加一个。 添加一个。 为EVENTVALIDATION和VIEWSTATE添加两个正则表达式提取器。 添加HTTP URL重写修改器与(检查和)。 有两个页面,一个是,另一个是。在Login Post Page中,我添加了以下参数: 用户名: __EVENTV