【问题标题】:Changing Authentication from individual accounts to Windows (Intranet) in ASP.Net MVC app在 ASP.Net MVC 应用程序中将身份验证从个人帐户更改为 Windows (Intranet)
【发布时间】:2015-09-15 17:30:56
【问题描述】:

我有一个最初设置为使用个人帐户进行身份验证的 ASP.Net MVC 5 站点。此应用现在需要移动到 Intranet 并使用 Windows 身份验证。

需要从原始应用程序中删除哪些内容才能使其仅适用于 Windows 身份验证?我尝试只更改 web.config 中的身份验证方法,但该应用程序仍尝试转到帐户/登录页面,并且仍然尝试启动所有 OWin 内容。所以我假设一堆启动代码也需要删除。我已经开始删除似乎涉及但已成为一个兔子洞的文件。

有人知道解释该过程的文章或对所需步骤有任何建议吗?

【问题讨论】:

  • 检查 Global.asax.cs 文件。在请求到达控制器之前,大部分的预热都在那里完成。
  • 我找到了将 添加到 web.config 的参考。这似乎可以解决问题,而无需我删除一堆代码文件。
  • @JohnS 但是现在您的应用程序中有一堆无用的代码文件。最好从项目中实际删除文件,而不是禁用 OWIN。
  • 我同意@mason,好点子。

标签: c# asp.net-mvc authentication


【解决方案1】:

我有一个建议给你,创建两个空应用程序一个基于个人帐户,另一个基于 Windows 身份验证 然后用winmerge之类的比较工具比较这两个项目(比较项目文件夹) 并将更改应用到您的项目。 例如替换

<authentication mode="None"/> 

有了这个

<authentication mode="Windows"/>
<authorization>
  <deny users="?"/>
</authorization>

并删除

<modules>
    <remove name="FormsAuthentication"/>
</modules>

【讨论】:

  • @Ahmedilyas 这怎么是一个令人头疼的维护问题?比较身份和 Windows 身份验证之间的差异是一次性费用。
  • 并不清楚这是一次性费用......如果您正在创建 2 个单独的应用程序,它们做同样的事情,但只有 1 个小差异,那么这确实是一个令人头疼的维护问题。跨度>
  • @Ahmedilyas 我建议您删除评论,如果您误解了答案的内容,这将是一个令人头疼的维护问题,因为它可能会给某人带来对答案含义的错误印象。正如答案所描述的那样,您只是创建了两个不同的应用程序,以便您可以了解应用程序之间的区别。 没有额外的维护,只是为了学习而做的一次性事情。
猜你喜欢
  • 2019-01-17
  • 2014-02-05
  • 1970-01-01
  • 1970-01-01
  • 2011-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-17
相关资源
最近更新 更多