gpt4 book ai didi

c# - SetAuthCookie 不会在我们的测试服务器上设置 cookie

转载 作者:太空宇宙 更新时间:2023-11-03 10:39:57 25 4
gpt4 key购买 nike

我正在尝试在新环境中设置我的网站,但我遇到了成员(member)提供商的问题。

我可以调用 Membership.ValidateUser,它应该返回 true 和 false。太完美了。

但是,在我的新环境中,从未设置 cookie。我可以在本地主机和我们的生产服务器上看到,它设置了一个名为 CommunityServer 的 cookie,但在我们的新环境中没有。

Web.config 代码:

<authentication mode="Forms">
<!-- development -->
<forms name=".CommunityServer" protection="All" timeout="60000" loginUrl="~/user/login" slidingExpiration="true"/>
<!-- deployment -->
<!--<forms name=".CommunityServer" domain="domain.com" protection="All" timeout="60000" loginUrl="~/user1.aspx" slidingExpiration="true" />-->
</authentication>
<authorization>
<allow users="?"/>
</authorization>

登录代码:

if (String.IsNullOrEmpty(UsernameLogin)) {
ModelState.AddModelError("UsernameLogin", Strings.Error_NoLoginUsernameEntered);
}
if (String.IsNullOrEmpty(PasswordLogin)) {
ModelState.AddModelError("PasswordLogin", Strings.Error_NoLoginPasswordEntered);
}
if (!Membership.ValidateUser(UsernameLogin, PasswordLogin)) {
ModelState.AddModelError("UsernameLogin", Strings.Error_LoginFailed);
}


if (!ModelState.IsValid) {
return View(new UserLoginModel() { Title = String.Format(Strings.Site_Title, Strings.UserLogin_Title) });
}

FormsAuthentication.SetAuthCookie(UsernameLogin, true);

// we know this code is run and I am being redirected to the return url
if (!String.IsNullOrEmpty(ReturnUrl)) {
return Redirect(ReturnUrl);
}

关于为什么我们的 cookie 从未设置的任何提示的想法?这是一个 IIS 8 服务器。

最佳答案

在认证参数上添加domain="domain.com",表示cookie对全域有效,对正确的域有效,否则有可能无法设置。

<authentication mode="Forms">
<!-- development -->
<forms name=".CommunityServer" domain="domain.com" protection="All" timeout="60000" loginUrl="~/user/login" slidingExpiration="true"/>

关于c# - SetAuthCookie 不会在我们的测试服务器上设置 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25764260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com