我有一个新的 MVC 应用程序,它集成到一个更大的预先存在的内部网站中。
在生产中,身份验证详细信息将从现有的 Intranet 站点传递。但在开发中我需要一个本地表单登录控件来创建身份验证。
这意味着我需要一种方法来在将解决方案部署到生产服务器时隐藏任何本地登录页面。我试图使用 Debugger.IsAttached
从任何登录页面重定向
public class AccountController : Controller
{
public ActionResult LogOn()
{
if (!System.Diagnostics.Debugger.IsAttached)
RedirectToAction("NotFound");
return View();
}
}
事实证明这是行不通的。出于某种对我来说是个谜的原因,当导航到 /Account/LogOn
时,登录页面仍然可用。
我可以解决这个问题吗?有没有更好的办法?
最佳答案
如果您有单独的 Web.config 用于生产和开发,您可以在生产环境的 Web.config 中限制对此操作的访问:
<configuration>
<location path="/Account/LogOn">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
</configuration>
关于c# - 在生产中隐藏 MVC 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9197099/