天天看點

高效的Session讀寫.

private static User currentUser = null;

高效的Session讀寫.

        /// <summary>

高效的Session讀寫.

        /// 目前使用者

高效的Session讀寫.

        /// </summary>

高效的Session讀寫.

        public static User CurrentUser{

高效的Session讀寫.

            get{

高效的Session讀寫.

                if(currentUser != null && HttpContext.Current.Session["LoginUser"] != null)

高效的Session讀寫.

                    return currentUser;

高效的Session讀寫.
高效的Session讀寫.

                if(HttpContext.Current.Session["LoginUser"] != null){

高效的Session讀寫.

                    currentUser = (User)HttpContext.Current.Session["LoginUser"];

高效的Session讀寫.
高效的Session讀寫.

                }

高效的Session讀寫.
高效的Session讀寫.

                if(currentUser != null && HttpContext.Current.Session["LoginUser"] == null){

高效的Session讀寫.
高效的Session讀寫.
高效的Session讀寫.

                //沒有登陸的使用者,自動讀取cookie登陸

高效的Session讀寫.

                currentUser = new PopForum.Common.Entity.User();

高效的Session讀寫.

                HttpCookie c = HttpContext.Current.Request.Cookies["UserInfo"];

高效的Session讀寫.

                if(c!=null && c.Value!=""){

高效的Session讀寫.

                    FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(c.Value);

高效的Session讀寫.

                    Common.DataMapping.UserInfo info = null;

高效的Session讀寫.

                    Users users = new Users();

高效的Session讀寫.

                    int r = users.CheckUser(ticket.Name,out info);

高效的Session讀寫.

                    if(r==1){

高效的Session讀寫.

                        currentUser.UserId = info.UserId;

高效的Session讀寫.

                        currentUser.UserName = info.UserName;

高效的Session讀寫.

                        currentUser.Status = (Common.UserStatus)info.UserStatus;

高效的Session讀寫.

                        currentUser.Point = info.Point;

高效的Session讀寫.

                        DataTable table = DataBase.ExecuteSQLTable("select rr.rightid from t_roleright rr,t_userrole ur where rr.roleid=ur.roleid and ur.userid="+currentUser.UserId.ToString());

高效的Session讀寫.

                        foreach(DataRow row in table.Rows){

高效的Session讀寫.

                            currentUser.Rights.Add((Common.Right)row["rightid"]);

高效的Session讀寫.

                        }

高效的Session讀寫.

                        //判斷使用者是否有系統管理權限

高效的Session讀寫.

                        if(currentUser.HaveRight(Common.Right.SiteAdmin)){

高效的Session讀寫.

                            //更新使用者登陸資訊

高效的Session讀寫.

                            users.LoginUpdate(ref info,currentUser);

高效的Session讀寫.

                            currentUser.Point = info.Point;

高效的Session讀寫.

                            Sessioner.Add("LoginUser",currentUser);

高效的Session讀寫.
高效的Session讀寫.

                            //判斷網站是否關閉,但管理者可以登陸

高效的Session讀寫.

                        else if(Common.Configs.ForumConfig.SiteConfiger.CloseFlag){

高效的Session讀寫.

                            throw new CtyException("網站被關閉,暫時無法通路",DealType.RediretErrorPage);

高效的Session讀寫.
高效的Session讀寫.

//                            //判斷是否允許登陸

高效的Session讀寫.

//                        else if(!Common.Configs.ForumConfig.SiteConfiger.LoginFlag){

高效的Session讀寫.

//                            throw new CtyException("登陸被禁止,暫時無法登陸",DealType.RediretErrorPage);

高效的Session讀寫.

//                        }

高效的Session讀寫.

                        else{

高效的Session讀寫.
高效的Session讀寫.
高效的Session讀寫.
高效的Session讀寫.
高效的Session讀寫.

                    }

高效的Session讀寫.

                }else{

高效的Session讀寫.

                    //匿名使用者

高效的Session讀寫.

                    if(!Common.Configs.ForumConfig.SiteConfiger.AnonymousFlag)

高效的Session讀寫.

                        throw new CtyException("網站不允許匿名使用者通路",DealType.RediretErrorPage);

高效的Session讀寫.
高效的Session讀寫.

                return currentUser;

高效的Session讀寫.

            }set{

高效的Session讀寫.

                 Sessioner.Add("LoginUser",value);

高效的Session讀寫.

                 currentUser = value;

高效的Session讀寫.

             }

高效的Session讀寫.

        }

本文轉自快樂就好部落格園部落格,原文連結:http://www.cnblogs.com/happyday56/archive/2007/11/02/946333.html,如需轉載請自行聯系原作者

繼續閱讀