我有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
为了获得该数据库点,用户必须已经提供了凭据。问题是,如何在这些方法中获得它们?根据用户名,我必须决定是否允许访问某些表。
答案 0 :(得分:2)
可以使用OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name