我有兩個應用,一個是窗體身份驗證,看起來像這樣:ASP.NET混合身份驗證
<authentication mode="Forms">
<forms loginUrl="~/Login"></forms>
</authentication>
public class LoginController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult LoginCheck()
{
string username = Request.Form["username"];
FormsAuthentication.RedirectFromLoginPage(username, true);
return RedirectToAction("Index", "Home");
}
}
其他應用程序是空的,但使用Windows身份驗證:
<authentication mode="Windows" />
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Title = "Home Page";
return View();
}
}
我是什麼試圖做的是:
用戶填寫他們的用戶名和密碼的形式authen tication應用和點擊提交
的LoginCheck方法,採用用戶名和密碼,驗證對抗是Windows身份驗證
我,希望我得到的Windows身份驗證應用程序話說響應的應用程序是這個用戶名和密碼是正確的,繼續或沒有他們不工作
我在正確的軌道上我想完成?我的問題是我不知道如何完成第2部分,如果有人能幫助我,那將是驚人的或者指向正確的方向。
爲什麼需要混合它?如果Web堆棧位於您的域中,並且您有權訪問AD,爲什麼不使用Windows身份驗證?如果沒有,那爲什麼要使用windows auth呢? –
混合它,因爲我想用一個窗體而不是一個醜陋的對話框。 – user979331
我很確定Windows代碼驗證發生在您的代碼執行之前。您最好使用Forms Authentication並使用ActiveDirectoryMembershipProvider,如[this](https://msdn.microsoft.com/en-us/library/ff650308.aspx)。 –