创建表单身份验证网站
本文关键字:网站 身份验证 表单 创建 | 更新日期: 2023-09-27 18:20:45
我的网站与后台Umbraco的东西配合得很好,用户可以登录并更改内容等。我想做的是为正面网站创建一个登录注册部分,这样用户就可以留下评论等。我已经创建了登录注册页面,并尝试使用.NET Forms Authentication,但似乎什么都不起作用!当我添加cookie时,我会刷新,但它不在那里。这种方法在非Umbraco网站上效果很好,所以我认为我需要对Umbraco做一些不同的事情。
这是我的表单验证代码,它似乎没有添加cookie或SetAuthCookie:
Users Users = new Users();
ENT_User User = Users.GetUser(this.txtLogin.Text, this.txtLoginPassword.Text);
if (User.ID != Guid.Empty)
{
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
User.Email,
DateTime.Now,
DateTime.Now.AddDays(12),
true,
User.ID.ToString(),
FormsAuthentication.FormsCookiePath);
// Encrypt the ticket.
string encTicket = FormsAuthentication.Encrypt(ticket);
// Create the cookie.
Response.Cookies.Add(new HttpCookie("LoginDetails", encTicket));
}
当我将鼠标悬停在Debug中的cookie上时,cookie就在那里,但当我刷新并再次完成该过程时,cookie不在那里。
有人知道问题出在哪里吗?
感谢
您设置了票证的过期时间,但没有设置cookie本身的过期时间。尝试更改:
...
Response.Cookies.Add(new HttpCookie("LoginDetails", encTicket));
至:
...
var httpCookie = new HttpCookie("LoginDetails", encTicket);
httpCookie.Expires = DateTime.Now.AddDays(12);
Response.Cookies.Add(httpCookie);