如果要设置多域身份验证(或出于其他任何原因,我想指定身份验证域,则必须在两个地方进行:
在web.config中:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" enableCrossAppRedirects="true" domain="mydomain.com" />
在登录页面上,当我创建身份验证cookie时:
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, user, DateTime.Now, DateTime.Now.AddHours(3), false, role, FormsAuthentication.FormsCookiePath);
string hash = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hash);
cookie.Expires = ticket.Expiration;
cookie.Domain = "mydomain.com"; // <-----
Response.Cookies.Add(cookie);
很好...但是每当我要更改域时,都必须在两个地方进行。有没有一种方法可以直接从web.config中的
您可以在身份验证/表单中设置它,并将其读取为FormAuthentication.CookieDomain