小编Ale*_*all的帖子

使用安全令牌服务时的身份验证

我创建了一个安全令牌服务(STS),一个引用STS的服务和一个示例桌面应用程序.

当使用Windows身份验证和Message安全性时,这可以正常工作,从STS检索令牌并成功调用服务方法.该服务返回一个包含当前用户标识的字符串,该标识符返回我的AD用户名.

但是我要求对数据库而不是AD进行身份验证.我试过创建一个CustomUserNameValidator(在STS中,这是正确的位置吗?)并在web.config中引用它.然后,我提供如下所示的凭据.

SampleServiceReference.SampleServiceClient client = new SampleServiceReference.SampleServiceClient(); client.ClientCredentials.UserName.UserName = "alex"; client.ClientCredentials.UserName.Password = "pass";

我相信证书设置正确(全部使用'localhost'),但是在调用服务时我收到以下异常:

System.ServiceModel.FaultException:ID3242:无法对安全令牌进行身份验证或授权.

无论我尝试什么似乎都失败了.我所描述的甚至可能吗?服务客户端是否也将客户端凭据传递给STS,或者我完全误解了这里发生的事情?

这个stackoverflow问题是类似的,但我已经检查了受众URL,似乎没问题.WIF STS ID3242

有没有人对如何在使用STS时实现自定义身份验证有任何建议?

wcf wif sts-securitytokenservice

5
推荐指数
1
解决办法
2万
查看次数

Microsoft Dynamics 2011 N:N LINQ查询,其中where子句包含Guid

我构建了一个简单的查询来返回用户团队成员资格(N:N关系).这适用于所有用户,但是当我添加一个where子句来限制特定用户时,它会抛出一个错误异常(请参阅下面的stacktrace).

奇怪的是,这适用于"Where Users.FullName.StartsWith("Alex")".Dynamics CRM SDK LINQ实现不支持where子句中的Guids吗?

有什么建议?

示例代码

 using (var service = new OrganizationService("Xrm"))
        {
            using (var xrm = new XrmServiceContext(service))
            {
                var AlexUser = xrm.SystemUserSet.Where(p => p.FullName.StartsWith("Alex")).First();
                var AlexID = AlexUser.Id;

                var Test =
                        from Users in xrm.SystemUserSet
                        join TeamMemberships in xrm.TeamMembershipSet on Users.Id equals TeamMemberships.SystemUserId
                        join Teams in xrm.TeamSet on TeamMemberships.TeamId equals Teams.Id
                        where Users.Id == AlexID     // <-- problematic where clause
                        orderby Users.FullName
                        select new
                        {
                            FullName = Users.FullName,
                            UserID = Users.Id,
                            TeamName = Teams.Name
                        };

                var …
Run Code Online (Sandbox Code Playgroud)

linq dynamics-crm dynamics-crm-2011

4
推荐指数
1
解决办法
2776
查看次数

WPF ComboBox,强制输入UpperCase

我有一个可编辑的WPF ComboBox与TextSearchEnabled.当他们键入以过滤ComboBox时,我需要强制用户的文本输入为大写.

我正在考虑修改作为控件一部分的文本框(名为'PART_EditableTextBox')以设置CharacterCasing ="Upper",但是我无法弄清楚如何执行此操作.

我是否需要使用触发器,或以某种方式修改模板?

wpf combobox uppercase

3
推荐指数
1
解决办法
8823
查看次数