asp.net 用户验证的方式
请问下个asp.net中的用户验证方式,一种是修改web.config的form实现,还有一种和以前的asp差不多的session实现,请问一下这两种方式哪种好些?大家一...
请问下个asp.net 中的用户验证方式,一种是修改web.config 的form实现,还有一种和以前的asp差不多的session实现,请问一下这两种方式哪种好些?大家一般用的是哪一种?
展开
2013-08-09
展开全部
一般都用自带的验证机制首先在config中配置相关的节//配置身份票,登陆后才可访问<!--通过 <authentication> 节可以配置 ASP.NET 使用的 安全身份验证模式,以标识传入的用户。 -->//session的保存的位置为本地<sessionState mode="InProc"></sessionState><authentication mode="Forms">//配置必须经过的页面,cookie的 Name,缺省页面,存活时间(分)<forms loginUrl="Login.aspx" name="Hotel" defaultUrl="Default.aspx" timeout="60"> </forms></authentication>//拒绝匿名用户,否则该安全身份验证模式不起作用<authorization><deny users="?"/></authorization>这样不管他进入那个页面都会去你配置的那个页面去登陆,除非有身份票,在下面就是在用户登陆成功后给她个身份票了,就一句FormsAuthentication.SetAuthCookie(UserName, true);//FormsAuthentication是系统的类这样用户就可以登陆了,这样会自动创建一个非加密的Cookie,虽然有时间限制,但安全级别很低如果你还想学习那么就看下边,手写加密Cookie类代码如下:public class UserLoginManager:Page{/// <summary>/// 添加用户身份到Cookie中,并加密/// </summary>/// <param name="username"></param>public void AuthenticationUsers(string username){FormsAuthenticationTicket tichet = new FormsAuthenticationTicket(1, username, DateTime.Now, DateTime.Now.AddHours(24), true, "");string hashTicket = FormsAuthentication.Encrypt(tichet);HttpCookie userCookie = new HttpCookie(FormsAuthentication.FormsCookieName);userCookie.Value = hashTicket;userCookie.Expires = tichet.Expiration;userCookie.Domain = FormsAuthentication.CookieDomain;HttpContext.Current.Response.Cookies.Add(userCookie);}}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-09
展开全部
最简单的写法 第一:母版页控制第二:用户控件控制 验证session or cookie 没值直接转向
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询