1个数据库调用中的WCF身份验证和授权

时间:2016-09-05 13:33:00

标签: c# wcf authentication iprincipal

我设置了一个WCF服务,该服务目前实现了IAuthorizationPolicyUserNamePasswordValidator,这些服务本身目前正在达到基础学位。

它已经实现到我的web.config中,如下所示:

<serviceCredentials>
            <userNameAuthentication userNamePasswordValidationMode="Custom"
                                    customUserNamePasswordValidatorType="SecureService.CustomUsernamePasswordValidator, SecureService"/>            
</serviceCredentials>
<serviceAuthorization principalPermissionMode="Custom">
     <authorizationPolicies>
              <add policyType="SecureService.MyAuthorization, SecureService"/>
     </authorizationPolicies>
</serviceAuthorization>

目前正在做的是验证UsernamePasswordValidator中的凭据,然后通过在不同的呼叫中检查数据库中的所述用户来检索角色。

我遇到的问题是我的数据库电话&#39;是对另一个应用程序的调用,其中调用本身大约需要一秒钟。因此,我希望通过一次通话进行身份验证和授权。

我想到的唯一可能性是将逻辑完全放在IsInRole函数中,该函数当前设置如下:

public bool IsInRole(string role)
{
    PopulateUserRoles();
    return _roles.Contains(role);
}

我的问题是 - 是否有实现这一目标的标准方法?如果没有,这是一种安全的方式同时做两件事吗?

0 个答案:

没有答案