MVC 5 IIS 7.5 双跳问题(避免硬编码 SQL 密码)

Posted

技术标签:

【中文标题】MVC 5 IIS 7.5 双跳问题(避免硬编码 SQL 密码)【英文标题】:MVC 5 IIS 7.5 double-hop issue (avoid hard coded SQL passwords) 【发布时间】:2014-12-11 21:07:03 【问题描述】:

我遇到了与 MVC 项目相关的双跳 SQL 服务器登录问题。

我使用的是 IIS 7.5; MVC 5; Visual Studio 2013,以及运行 IIS 的简单 Windows 7 系统。

我需要使用 Windows 身份验证或 AD 组身份验证创建一个 Intranet 项目。

如果我使用后者,它根本不起作用,所以我推迟了它,但最终目标是使用 AD 组。

对于前者,我尝试让 Kerberos 工作(并阅读了几十篇文章),但我只能让网站在其主机上工作(几乎不值得这样做)。

我能够获得一个特殊的 SQL 帐户和密码,并且可以使用 web.config 中的硬连线连接字符串和应用程序中硬编码的密码来运行它,但这仅用于开发目的,需要在它到达生产之前很久就被更换了。

我已经阅读了网站

http://blogs.technet.com/b/askds/archive/2008/11/25/fun-with-the-kerberos-delegation-web-site.aspx

按照它的步骤,需要三到四个不同的团队一起工作,才能在我工作的地方完成所有工作。

有没有人知道任何更简单的 MVC 项目范例,使他们能够在具有 Windows 身份验证或 AD 组身份验证的 Intranet 站点上工作?甚至到其他解决方案的链接也会非常非常受欢迎。

如果有兴趣,另请参阅:

https://serverfault.com/questions/656243/iis-app-pool-set-credentials-not-working-for-specific-network-account

提前致谢。

【问题讨论】:

【参考方案1】:

您可以使用证书代替 Kerberos 委派。

【讨论】:

另一种方法是让应用程序池在用户帐户(最好是域帐户)下运行,然后在 web.xml 中使用以下设置。配置:集成安全=假;可信连接=真;注意:我也使用 MultipleActiveResultSets=true;这有助于解决其他问题...相关的应用程序池帐户必须被授予对您的应用程序具有相关权限的 SQL 帐户

以上是关于MVC 5 IIS 7.5 双跳问题(避免硬编码 SQL 密码)的主要内容,如果未能解决你的问题,请参考以下文章

IIS 7.5 上的 ASP.NET MVC

IIS 7.5 上的 ASP.NET MVC

IIS 7.5 上的 MVC5 路由错误 (404.0) 错误

ASP.Net MVC 3/4 托管在 IIS 7.5 默认处理程序映射上

为啥在 IIS 7.5 下部署 MVC 3 应用程序时出现 401.2/Access is denied 错误?

IIS 7.5 中的 Asp.net mvc 4 应用程序问题