如何将数据库的凭据传递给wcf服务?

时间:2011-04-13 09:11:54

标签: wcf security authentication database-connection

我们有一个连接到oracle数据库的WCF服务。必须使用调用服务的用户的凭据完成与数据库的连接。

如何设置它以便我可以访问客户端在客户端凭据中设置的用户名和密码,以便我可以将这些添加到我想要连接到数据库时创建的连接字符串以获取服务电话的数据?

还是有其他方法可以处理这个问题吗?

如果它有所作为,我们将在oracle数据库中使用代理身份,因此所有用户将作为主用户连接,并且代理身份将被设置为传递的凭据,以确保在上下文中执行查询代理用户。

1 个答案:

答案 0 :(得分:2)

设置您的服务以使用Impersonation。通过这种方式,他们将采用服务客户端的身份。

设置完成后,您可以像这样获得呼叫者的Windows身份:

WindowsIdentity callerWindowsIdentity = ServiceSecurityContext.Current.WindowsIdentity;

Check out this blog post,看看它是否会帮助你。