示例#1
0
        public static void SetAuthCookie(bool isAuthenticated, bool isAdmin, IPassportUserInfo user, HttpContext context = null)
        {
            PassportIdentity  i = new PassportIdentity(isAuthenticated, isAdmin, user);
            PassportPrincipal p = new PassportPrincipal(i);

            SetAuthCookie(p, context);
        }
示例#2
0
        public static void SignOut()
        {
            HttpContext       context = HttpContext.Current;
            PassportPrincipal pp      = context.User as PassportPrincipal;

            if (pp != null)
            {
                CacheProvider.Current.Set(new string[] { Utility.PassportCacheName, pp.Identity.IsAdmin ? Utility.PassportAdminCacheName : Utility.PassportUserCacheName, pp.Identity.Id.ToString() }, null);
            }
            SetAuthCookie(null, context);
        }
示例#3
0
        private static void SetAuthCookie(PassportPrincipal p, HttpContext context)
        {
            if (context == null)
            {
                context = HttpContext.Current;
            }
            context.Response.Cookies[CookieName].Value = ((p != null && p.Identity != null) ? p.Identity.ToString() : string.Empty);
            if (!string.IsNullOrEmpty(_cookieDomain)
#if (DEBUG)
                && !"localhost".Equals(_cookieDomain)
#endif
                )
            {
                context.Response.Cookies[CookieName].Domain = _cookieDomain;
            }
            context.User = p;
        }