• asp.net网站登录的一些资料。


    网站用户注册和登录,一直是我做项目的拦路虎,由于底子很浅,自己用session和cookie做一个用户注册和登录机制,很难有的东西真的不懂,曾经也做过一个,但效果不好。现在asp.net2.0以上,提出membership用户管理机制,大方便了初学者的网站开发。但在小项目里,自己搞一个用户注册和登录的机制,membership还是很大,(光数据库就10M)手头上有Access的membership的版本,抽空一定要研究一番。

    下面对我所看到的一些资料做一个总结和整理吧。

    园子里有

    使用Forms Authentication实现用户注册、登录 (一)基础知识

    http://www.cnblogs.com/AndersLiu/archive/2008/01/01/forms-authentication-part-1.html

    使用Forms Authentication实现用户注册、登录 (二)用户注册与登录

    http://www.cnblogs.com/AndersLiu/archive/2008/01/01/forms-authentication-part-2.html

    使用Forms Authentication实现用户注册、登录 (三)用户实体替换

    http://www.cnblogs.com/AndersLiu/archive/2008/01/01/forms-authentication-part-3.html

    挺好。

    关于Membership用户密码的资料

    http://www.cnblogs.com/AndersLiu/archive/2007/12/28/encode-password-with-salt.html

    1、在web.config里配置好验证信息

    <authentication mode="Forms">

         <forms

             name=".ASPXAUTH"

             loginUrl="login.aspx"

             defaultUrl="default.aspx"

             protection="All"

             timeout="30"

             path="/"

             requireSSL="false"

             slidingExpiration="false"

             enableCrossAppRedirects="false"

             cookieless="UseDeviceProfile"

             domain=""

         />

    </authentication>

    2、用户验证可以

       // 判断用户是否已登录。
      if(HttpContext.Current.User.Identity.Name == "")

           {

               Response.Write("您已经登录!");

            }
            else
            {
                Response.Redirect("~/login.aspx");
            }

    System.web.security.FormsAuthentication类为web应用程序管理Forms身份验证提供了一系列的服务

    (普通登录页)GetAuthCookie(UserName,PersistCookie) 返回FormsAuthenticationTicket提供票证

    (需要用户保存点信息)SetAuthCookie(UserName,PersistCookie) 第一个方法后生成的Cookie写到客户端的Cookie集中去

    (用户重定向)RedirectFromLoginPage(UserName,persistCookie) 在第二个方法后,重定向要访问的页面。

    3、用户登录可以用

    if (tbUser.Text.Trim() == "user" && tbPwd.Text.Trim() == "pwd")//数据库中取值
            {
                //登录到当前页的场景中用
                //FormsAuthentication.SetAuthCookie(tbUser.Text.Trim(), CheckBox1.Checked);
                ////string url = FormsAuthentication.GetRedirectUrl(User.Identity.Name, CheckBox1.Checked);//返回原始请求页
                //Response.Redirect("~/default.aspx");

                //-----------------------------------------------改变authCookie
                string UserDataStr = tbUser.Text.Trim() + "|" + tbPwd.Text.Trim();
                HttpCookie authCookie = FormsAuthentication.GetAuthCookie(tbUser.Text.Trim(),CheckBox1.Checked);
                FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authCookie.Value);
                FormsAuthenticationTicket newTicket = new FormsAuthenticationTicket(ticket.Version, ticket.Name, ticket.IssueDate, ticket.Expiration, ticket.IsPersistent, UserDataStr);
                authCookie.Value = FormsAuthentication.Encrypt(newTicket);
                Response.Cookies.Add(authCookie);
                //string url = FormsAuthentication.GetRedirectUrl(User.Identity.Name, CheckBox1.Checked);//返回原始请求页
                Response.Redirect("~/mypage.aspx");
            }
            else
            {
                lblInfo.Text = "用户名和密码错误!";
            }

    4、用户注销

    FormsAuthentication.SignOut();
      Response.Redirect(Request.RawUrl);

  • 相关阅读:
    OpenERP Framework API存档
    OpenERP 7 picking order 继承需要注意的地方
    Unity战斗系统之AI自主决策
    简易2D横版RPG游戏制作
    UGUI之Canvas Group
    UGUI之Canvas和EventSystem
    NGUI之scroll view的制作和踩坑总结
    NGUI之Toggle实现单选框
    Unity中对象池的使用
    继承MonoBehaviour类的优缺点和相关报错
  • 原文地址:https://www.cnblogs.com/iceberg2008/p/1393655.html
Copyright © 2020-2023  润新知