我正在使用formauthentication开发单点登录应用程序。在我的应用程序使用成员资格和SQL服务器状态维护之前,我没有任何问题。但是我使用会话检查用户的其他应用程序之一是否已登录。
在这种情况下,我无法登录使用会话的应用程序。我正在尝试从SSO应用程序设置会话,但它显示会话始终为空。
有人可以帮帮我吗?
这是我设置会话的sso应用程序代码。
if (Membership.ValidateUser(sUserName, sPass))
{
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1, // ticket version
sUserName, // authenticated username
DateTime.Now, // issueDate
DateTime.Now.AddMinutes(30), // expiryDate
isPersistent, // true to persist across browser sessions
"Test SSO", // can be used to store additional user data
FormsAuthentication.FormsCookiePath); // the path for the cookie
// Encrypt the ticket using the machine key
string encryptedTicket = FormsAuthentication.Encrypt(ticket);
// Add the cookie to the request to save it
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
cookie.HttpOnly = true;
Response.Cookies.Add(cookie);
FormsAuthentication.SetAuthCookie(sUserName, false);
}
Session["UserName"] = sUserName;
这是使用会话的另一个应用程序的代码。
if (Session["UserName"] != null)
{
HostPath = ConfigurationManager.AppSettings["HostPath"].ToString();
}
else
{
Response.Redirect("~/Account/Login.aspx");
}
这里我总是得到会话名称为null,所以它总是重定向我的登录页面。
我需要从我的SSO应用程序设置第二个应用程序的会话。这是我的要求帮助。
由于