上午在域中所有的應用程序執行SSO的過程認證在HTTP處理程序
我所做的事情至今都
- 創建了形式認證父網站,登錄進行
- 刪除所有子應用程序的認證模式爲無
- 在所有子應用程序中添加處理程序,檢查用戶是否已通過認證並獲取應用程序的用戶詳細信息
規範處理程序如下
public class MyHandler : IHttpHandler, IRequiresSessionState
{
public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
if (context.Request.IsAuthenticated)
{
if (context.Session["UserDetails"] == null)
{
string userName = HttpContext.Current.User.Identity.Name;
UserManagement userMngmt = new UserManagement();
userMngmt.GetLoggedUserDetails(userName);
// context.Response.Redirect(context.Request.Url.ToString(), true);
}
}
else
{
context.Response.Redirect("/SSO");
}
}
}
的想法是,如果他被認證獲取用戶名和獲得會話他的細節和商店,並繼續與用戶信息加載請求的頁面。
但現在頁面沒有被加載。我明白,檢查後,我必須加載請求的頁面。如何做到這一點。
我錯過了很多的變化之間細節 - 爲什麼它會創建一個重定向循環,爲什麼頁面沒有被加載(它是否拋出異常 - wh ich one),最重要的是描述流程。 –
看看:https://msdn.microsoft.com/en-us/library/eb0zx8fc.aspx –
@Ondrej Svejdar問題重構 –