2013-08-01 41 views
0

我正在修改AccountController以使用查詢Active Directory以獲取信息的單獨類,並將該信息存儲在登錄模型中。在我的帳戶控制器我有這樣的:使用Active Directory身份驗證時,AccountController未重定向到正確的頁面

try{ 
    LDAPAuth.LDAPQuery(model); 
    return RedirectToAction("Homepage", "HomePage"); 
} 
catch (Exception e) 
{ 
    throw new Exception(e.message); 
} 

我圍繞着它在一個try/catch becasue如果的DirectorySearcher沒有找到用戶它會告訴他們,用戶名或passwrod是錯誤的,我只是想在視圖上傳遞異常。正在發生的事情是,當它得到try塊內的模型設置完全沒有與我想要的屬性,但是重定向帶我到

http://localhost:7606/Account/Login?ReturnUrl=%2fHomePage%2fHomepage 

LDAPAuth類是根據該解決方案實現的,我周圍也這嘗試/趕上無效的用戶,我試圖通過視圖

http://stackoverflow.com/questions/1295157/how-do-i-query-activedirectory-using-ldap-with-a-username-not-a-cn 

我不知道是什麼問題,調試它也沒有幫助。

我希望有人能幫忙!謝謝

回答

0

在您重定向到操作之前,請發出FormsAuthentication.SetAuthCookie。這應該覆蓋返回URL的默認行爲:

其值得注意的是,SetAuthCookie(字符串username,bool createPersistantCookie)中的bool可用於記住用戶。對於這個例子,我將它設置爲false。

try{ 
    LDAPAuth.LDAPQuery(model); 
    FormsAuthentication.SetAuthCookie(model.UserName, false); 
    return RedirectToAction("Homepage", "HomePage"); 
} 
相關問題