WCF,Claims,ADFS 3.0
我正在尝试了解使用WCF,Claims和ADFS 3.0开发框架所需的内容。 内部用户将针对Active Directory进行身份validation,外部用户将针对SQL Server表进行身份validation,并且授权将存储在实现组和权限的数据库表中。 我正在使用WCF而不是Web Api或OWIN创建API。
我对使用Identity Server或第三方产品不感兴趣,我只是想知道如何创建自定义安全令牌服务以从我的成员资格表中读取并通过我的组和权限表设置声明。
我找不到任何关于此的信息。 Visual Studio 2015中没有Identity和Access控件,似乎没有使用WCF,仅使用Web Api,OWIN和MVC?
这篇文章似乎有一个良好的开端, http://southworks.com/blog/2007/03/11/the-holly-grail-of-enterprise-soa-security/
这是我在我的MVC应用程序中使用的代码(不是WCF,但许多需要完成的事情是相同的)
var claims = new List() { new Claim(ClaimTypes.Name, result.UserName), new Claim("https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", result.Email), new Claim("https://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", result.Email), new Claim("UserId", result.Id.ToString(CultureInfo.InvariantCulture)), new Claim("UserName", result.UserName), new Claim("FirstName", result.FirstName) }; //load claims from database here claims.AddRange(result.Roles.Select(role => new Claim(ClaimTypes.Role, role.Name))); var id = new ClaimsIdentity(claims, "Forms"); var cp = new ClaimsPrincipal(id); var token = new SessionSecurityToken(cp) { IsPersistent = false }; Session["authToken"] = token; var sam = FederatedAuthentication.SessionAuthenticationModule; sam.WriteSessionTokenToCookie(token);
当我正在开发像您这样的声明感知WCF应用程序时,我浏览了这个链接 ,让我了解它是如何工作的。 唯一与您的需求不太相似的是它不是ADFS 3.0。
而且我认为您不能同时将ADFS用于内部用户,而将SQL用于外部“类似会员” 。 我所知道的是,您可以信任其他公司的ADFS作为其他身份提供商。
如果您指的是如何构建声明感知WCF,这里有一些可用的链接。
尽管如此, 链接仍处于活动状态,支持.Net 4.5和4.6以及WIF已经是框架的一部分,这与之前需要安装WIF不同。
以下是我的WCF服务配置的片段:
绑定
身份配置
我的WCF客户端的片段配置
https://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKey 256 https://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p https://www.w3.org/2001/04/xmlenc#aes256-cbc https://www.w3.org/2000/09/xmldsig#hmac-sha1 https://www.w3.org/2001/10/xml-exc-c14n# https://www.w3.org/2001/04/xmlenc#aes256-cbc
附加信息 :
我希望这些信息对您有所帮助!
上述就是C#学习教程:WCF,Claims,ADFS 3.0分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1004186.html