我正在修改AccountController以使用一个单独的类来查询Active Directory以获取信息并将该信息存储在Login Model中。在我的帐户控制器中,我有这个:
try{
LDAPAuth.LDAPQuery(model);
return RedirectToAction("Homepage", "HomePage");
}
catch (Exception e)
{
throw new Exception(e.message);
}
我在try / catch中围绕它,因为如果DirectorySearcher没有找到用户,它会告诉他们用户名或密码错误,我只是试图在视图上传递异常。发生了什么事情,当它进入try块时,模型设置得很好,我想要的属性,但重定向将我带到
http://localhost:7606/Account/Login?ReturnUrl=%2fHomePage%2fHomepage
根据这个解决方案实现了LDAPAuth类,我还在try / catch中包含了这个以捕获我试图传递给View的无效用户
http://stackoverflow.com/questions/1295157/how-do-i-query-activedirectory-using-ldap-with-a-username-not-a-cn
我不确定是什么问题,调试也没有帮助。
我希望有人可以提供帮助!感谢
答案 0 :(得分:0)
在重定向到操作之前,请发出FormsAuthentication.SetAuthCookie。这应该覆盖返回URL的默认行为:
还值得注意的是,SetAuthCookie中的bool(字符串用户名,bool createPersistantCookie)可用于记住用户。对于此示例,我将其设置为false。
try{
LDAPAuth.LDAPQuery(model);
FormsAuthentication.SetAuthCookie(model.UserName, false);
return RedirectToAction("Homepage", "HomePage");
}