2010-07-14 202 views
1

我有NetTcpBindingSecurityMode.TransportWithMessageCredentialWCF - 传输身份验证 - 获取身份验证用户的凭证

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 

为了达到那个DB点,用户必须已经提供的凭据。问题是,如何在这些方法中获得它们?根据用户名称,我必须决定是否允许访问某些表格。

回答

2

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