我们正尝试使用SAMFS与我们的客户站点使用ADFS实现单点登录(sso)。我已成功设置ADFS,当我访问../adfs/ls/idpinitiatedsignon.aspx页面时,它显示“登录到这个网站“单选按钮,它重定向到客户网站,并要求输入用户名和密码,一旦输入客户的网站用户名和密码,然后它返回到idpinitiatedsignon.aspx并说”你已登录“并显示退出按钮。但是我无法从idpinitiatedsignon.aspx中的HttpContext.Current.User
获取登录用户的详细信息,因为HttpContext.Current.User.Identity.IsAuthenticated
为false,但IsAuthenticated
为真。那么我怎样才能获得登录的用户信息?
答案 0 :(得分:1)
因为当您调用FormsAuthentication.SetAuthCookie(txtUsername.Value,true)时;您将密钥存储在客户端的cookie上。为此,您需要对用户做出响应。而对于要填充cookie的HttpContext.Current.User.Identity,还需要一个请求。
简而言之,您的计划如下所示: