Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用声明识别用户名/登录授权为我的WCF服务创建本地STS? 我的WCF服务需要索赔感知授权(如can-create-resource-X、can-edit-resource-Y等) 授权应基于用户名/密码,无Windows标识 我需要将授权逻辑和数据保持在托管WCF服务的服务器的本地 授权数据应存储在PostgreSQL中,而不是SQL Server中_C#_.net_Postgresql_Wcf_Wif - Fatal编程技术网

C# 如何使用声明识别用户名/登录授权为我的WCF服务创建本地STS? 我的WCF服务需要索赔感知授权(如can-create-resource-X、can-edit-resource-Y等) 授权应基于用户名/密码,无Windows标识 我需要将授权逻辑和数据保持在托管WCF服务的服务器的本地 授权数据应存储在PostgreSQL中,而不是SQL Server中

C# 如何使用声明识别用户名/登录授权为我的WCF服务创建本地STS? 我的WCF服务需要索赔感知授权(如can-create-resource-X、can-edit-resource-Y等) 授权应基于用户名/密码,无Windows标识 我需要将授权逻辑和数据保持在托管WCF服务的服务器的本地 授权数据应存储在PostgreSQL中,而不是SQL Server中,c#,.net,postgresql,wcf,wif,C#,.net,Postgresql,Wcf,Wif,起初,我打算根据“学习WCF.A实践指南”实施基于声明的安全性,使用pgProvider作为基于PostgreSQL的ASP.NET成员资格提供程序的替代品。但我无意中发现,我现在使用的.NET4.5重新定义了ClaimsPrincipal(以及声明) 然后我发现WIF现在被推荐为主要的授权设备。到目前为止,我正试图把我的头围绕WIF,我找不到任何关于本地使用的有效STS的提及。我唯一提到的是本地开发STS,但据我所知,它仅用于开发和测试目的,而不是用于生产 我曾考虑过创建自定义STS,但据谷歌

起初,我打算根据“学习WCF.A实践指南”实施基于声明的安全性,使用
pgProvider
作为基于PostgreSQL的ASP.NET成员资格提供程序的替代品。但我无意中发现,我现在使用的.NET4.5重新定义了
ClaimsPrincipal
(以及
声明

然后我发现WIF现在被推荐为主要的授权设备。到目前为止,我正试图把我的头围绕WIF,我找不到任何关于本地使用的有效STS的提及。我唯一提到的是
本地开发STS
,但据我所知,它仅用于开发和测试目的,而不是用于生产

我曾考虑过创建自定义STS,但据谷歌称,这并不是我的第一选择。对于一个看似简单的目的——拥有本地用户名/密码授权来说,这确实是一个过于复杂的方法


那么,如何为我的WCF服务创建基于声明的授权呢?有没有我没见过的本地STS?我是否应该忘记WIF并编写自己的授权逻辑?还有什么吗?

VS 2010和VS 2012有工具生成本地STS,但是的,不用于生产

基本问题是,与浏览器访问(WS-Fed被动模式)相比,很少有人使用WCF(WS-Fed主动模式)

所以我不知道你能用什么STS

你可以考虑一下吗?

我的错误。


ClaimsPrincipal
在“学习WCF.A Hand-on Guide”中提到的并不是我想象中的框架类,而是一个自定义程序员创建的类。在较新的.NET framework版本中,我被一个同名的类误导了。

几年前,我有一个关于活动ws-fed配置文件的教程,但问题是该教程是针对WIF 4的,此后api发生了变化。请随意使用本教程,但您需要自己完成。谢谢,我会注意这个选项。到目前为止,我最终使用了GenericPrincipal而不是ClaimsPrincipal。似乎是最适合我的方案的折衷方案。