簡體   English   中英

像Sharepoint一樣如何在asp.net中創建登錄體驗?

[英]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帳戶用戶。

http://msdn.microsoft.com/zh-CN/library/yh26yfzy.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM