正确创建交叉
我只是在两台服务器之间创建一个简单的测试。 基本上,如果用户已经通过身份验证,我希望能够在应用程序之间传递它们。 我改变了键来隐藏它们
我有三个问题:
successpage.aspx
我应该检查什么? web.config
设置是否正确? 我的代码:
if (authenticated == true)
{
//FormsAuthentication.SetAuthCookie(userName, false);
bool IsPersistent = true;
DateTime expirationDate = new DateTime();
if (IsPersistent)
expirationDate = DateTime.Now.AddYears(1);
else
expirationDate = DateTime.Now.AddMinutes(300);
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1,
userAuthName,
DateTime.Now,
expirationDate,
IsPersistent,
userAuthName,
FormsAuthentication.FormsCookiePath);
string eth = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, eth);
if (IsPersistent)
cookie.Expires = ticket.Expiration;
cookie.Domain = ".myDomain.com";
Response.SetCookie(cookie);
Response.Cookies.Add(cookie);
Response.Redirect("successpage.aspx");
}
我的配置:
<authentication mode="Forms">
<forms loginUrl="~/Default.aspx" timeout="2880" name=".AUTHCOOKIE" domain="myDomain.com" cookieless="UseCookies" enableCrossAppRedirects="true"/>
</authentication>
<customErrors mode="Off" defaultRedirect="failure.aspx" />
<machineKey decryptionKey="@" validationKey="*" validation="SHA1" decryption="AES"/>
跨域应用程序验证cookie的正确方法是什么? 例如,当用户登陆successpage.aspx我应该检查什么?
不应该有任何检查。 表单认证机制将从cookie中检索票证,检查它是否有效。 如果不存在或无效,用户将重定向到〜/ Default.aspx。 如果你的cookie匹配你的web.config的配置,这将工作
以下代码是否适用于创建跨域身份验证Cookie?
我认为你不应该尝试通过手动处理cookie来覆盖你的web.config的设置。 我认为有更好的方法来处理cookie持久性(请参阅下面的web.config),并且您只是实现了Forms身份验证API的一部分(例如,丢失了用于SSL的web.config)
你的代码应该是:
if (authenticated)
{
bool isPersistent = whateverIwant;
FormsAuthentication.SetAuthCookie(userName, isPersistent );
Response.Redirect("successpage.aspx");
}
我的web.config设置是否正确?
只要您想在mydomain.com的直接子域之间共享身份验证(它不适用于xymydomain.com),并且mydomain.com不在公共后缀列表中(http: //publicsuffix.org/list/)
我会将超时和slidingExpiration属性更改为:
<forms loginUrl="~/Default.aspx" timeout="525600" slidingExpiration="false" name=".AUTHCOOKIE" domain="myDomain.com" cookieless="UseCookies" enableCrossAppRedirects="true"/>
我想这是一个很好的方式来处理持续一年的cookies和会话cookie之间的选择。 有关更多信息,请参阅https://stackoverflow.com/a/3748723/1236044
链接地址: http://www.djcxy.com/p/69627.html上一篇: Proper creation of a cross
下一篇: Dealing with background location updates and Core Data file protection