我想了解在访问SQL Server时如何模拟不同的用户。 基本上,我的C#应用程序必须使用与启动时相同的帐户访问本地文件系统,但在访问数据库时应使用其他帐户。 如果数据库是远程的,我可以通过使用“runas/netonly”来实现这种分离,但是如果服务器是本地的,那么进程将使用它启动的凭证。 具有DB访问权限凭据的用户与有权访问我需要使用的文件系统的用户不同。 我该如何解决这种情况?本地SQL和Windows身份验证的不同模拟
回答
基本上我的C#应用程序具有相同的帐户访问本地文件系统,因为它是与
斯普利特应用推出了两个分开这个访问本地文件要求转换成单独的服务它以所需的权限运行。您的应用程序的两部分使用您选择的IPC进行通信(包括彼此之间的两个应用程序'碎片的认证和授权')。这可能听起来很复杂,但从安全性角度来看,它几乎没有任何问题,并且也很难实施。 C#代码可以使用WindowsIdentity
明确模仿和反向模拟。在假冒下通过网络访问受限于授权。但我相信去那里(模拟连接到数据库时,访问本地资源时恢复)只是一个等待收获的bugfarm ......将本地访问部分代码与冒充两个服务中的代码分开是非常强大的imho。
您确认我已经在想什么......在这一点上我们不能拆分应用程序。所以我们不得不求助于模拟/委托并恢复。我真的希望“欺骗”runas,思考SQL应该使用“netonly”证书,即使它是本地的(实际上它确实使用TCP/IP通信);我不知道RUNAS是如何知道它是本地的,但它很聪明... – user1986435
'runas/netonly'只是传递给''CreateProcessWithLogonW''(http://msdn.microsoft.com)的'LOGON_NETCREDENTIALS_ONLY'标志/en-us/library/windows/desktop/ms682431(v=vs.85).aspx) –
- 1. ASP.NET Windows身份验证模拟
- 2. ASP.NET Windows身份验证模拟问题
- 3. 是SQL Server身份验证和Windows身份验证
- 4. WCF模拟/身份验证
- 5. SQL Windows身份验证
- 6. Windows身份验证在本地系统
- 7. 使用SQL Server身份验证代替Windows身份验证的PDO和SQL Server
- 8. Firefox不显示身份验证提示和Windows身份验证
- 9. SQL Server 2008 Express和Windows身份验证
- 10. 网站窗体身份验证 - > SQL Server Windows身份验证
- 11. Windows身份验证到SQL Server身份验证
- 12. SQL Server身份验证或Windows身份验证
- 13. windows身份验证和iOS7
- 14. DNN和Windows身份验证
- 15. Asp.net和Windows身份验证
- 16. R和Windows身份验证
- 17. NancyFx和Windows身份验证
- 18. wcf和windows身份验证
- 19. 本地身份验证后的Gitblit LDAP身份验证
- 20. Windows身份验证不验证角色
- 21. Windows身份验证 - 如何进行身份验证使用不同的域
- 22. Windows身份验证 - 如何在本地开发时模拟用户?
- 23. Windows身份验证和表单身份验证
- 24. 使用Windows身份验证的SQL Server
- 25. 本地用户和组的Windows身份验证
- 26. 带有文本框和AD身份验证的SQL身份验证
- 27. RESTful端点的身份验证 - 基本身份验证和XHR
- 28. 在WCF Windows身份验证和基本身份验证之间切换
- 29. 如何将SQL Server 2005从Windows身份验证更改为SQL身份验证?
- 30. 错误连接到Windows和SQL身份验证模式SQLSERVER
使用数据库安全性,而不是Windows安全性。授予访问您的.net应用程序的权限。使用.net代码来确定谁可以做什么。 –
政策不允许。我们不能使用SQL身份验证。 – user1986435