首页 新闻 会员 周边

MVC3 如何在多台服务器之间使用Forms身份认证

0
悬赏园豆:50 [已解决问题] 解决于 2013-11-14 11:41

多台服务器做负载,可以登录成功。 成功之后再多次访问其他页面,会出现 登录状态一会在线,一会不在线。

网上查说是:默认情况下,ASP.NET 生成随机密钥并将其存储在本地安全机构 (LSA) 中, 因此,当需要在多台机器之间使用Forms身份认证时,就不能再使用随机生成密钥的方式, 需要我们手工指定,保证每台机器的密钥是一致的。

<machineKey 

  decryption="Auto" [Auto | DES | 3DES | AES]
  decryptionKey="AutoGenerate,IsolateApps" [String]
/>

于是我在web.config里加了,

<machineKey decryption="DES" decryptionKey="E85C9E85C9E85C99" validation="MD5" validationKey="E85C9E85C9E85C99E85C9E85C9E85C99E85C9999" />

但是没有效果。。。请教这个问题如何解决如何配置。。

下面是我的登录代码:

FormsAuthentication.SetAuthCookie(userName, isRememberMe);

FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, userName, DateTime.Now, DateTime.Now.AddHours(24), false, userData, FormsAuthentication.FormsCookiePath);
string encTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie newCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
newCookie.Path = FormsAuthentication.FormsCookiePath;
if (isRememberMe)
{
newCookie.Expires = DateTime.Now.AddHours(24);
}
System.Web.HttpContext.Current.Response.Cookies.Add(newCookie);

yuxiao的主页 yuxiao | 初学一级 | 园豆:114
提问于:2012-10-11 18:13
< >
分享
最佳答案
0

整个单点登录吧

收获园豆:50
az235 | 大侠五级 |园豆:8483 | 2012-10-15 09:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册