[英]How to create a login experience in asp.net like Sharepoint has?
我們使用Sharepoint 2007作為內部門戶。 我目前正在開發一個自定義應用程序(asp.net MVC2),並且已要求我的登錄過程模仿Sharepoint,該用戶最初使用SSO登錄,但隨后可以選擇注銷並提供不同的憑據。
有關如何執行此操作的任何博客/指南?
更新:
多虧了反射器,我才找到了一種方法,但是並不能完全起作用。
首先,我正在本地Windows 7計算機上運行的IIS上對此進行測試。
我已設置“注銷”操作來執行以下操作:
var current = System.Web.HttpContext.Current;
var response = current.Response;
object obj2 = current.Items["ResponseEnded"];
if ((obj2 == null) || !((bool)obj2))
{
current.Items["ResponseEnded"] = true;
response.StatusCode = 401;
response.Clear();
response.Write("401 UNAUTHORIZED");
response.End();
}
這部分起作用。 當我單擊“ logOFf”時,提示輸入憑據。 奇怪的是,在調試時,我可以看到該方法被調用了兩次(這是MVC操作)。
但是,即使提供有效的憑據,我仍然無法重新登錄。第三次嘗試后,我得到了401頁。
我在這里唯一的想法是以某種方式試圖使用Kerberos進行身份驗證,並且由於我在這台計算機上沒有Kerberos設置,因此它失敗了。 但是,當我第一次從IE訪問站點時,它只是將IE憑據傳遞給了我(SSO),並且一切正常,因此我不確定為什么第二次身份驗證失敗。
asp.net成員資格提供程序是一個不錯的選擇。 根據您的問題,身份驗證方法有很多選擇,盡管我認為.net成員身份提供程序將是您的最佳選擇。 如果僅使用Windows身份驗證,則即使sharepoint也有其故障,因為IE會嘗試將登錄名更改回Windows帳戶用戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.