WCF - 传输身份验证 - 获取经过身份验证的用户的凭据

时间:2010-07-14 09:09:22

标签: .net wcf authentication credentials

我有NetTcpBinding SecurityMode.TransportWithMessageCredential

Transport.ClientCredentialType设置为MessageCredentialType.Windows,但我正在考虑MessageCredentialType.UserName

然后有一个类DataStoreServerProxy用于获取实现IDataStoreContract的数据库数据。

它包含以下方法:

Private Function Common_IDataStoreContract_ModifyData(ByVal ParamArray dmlStatements As ModificationStatement()) As ModificationResult Implements IDataStoreContract.ModifyData
        Return wrappedDataStore.ModifyData(dmlStatements)
    End Function

为了获得该数据库点,用户必须已经提供了凭据。问题是,如何在这些方法中获得它们?根据用户名,我必须决定是否允许访问某些表。

1 个答案:

答案 0 :(得分:2)

可以使用OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name

检索用户名