示例#1
0
        private static void SetPrincipal(GenericTicketTokenContainer container)
        {
            IPrincipalBuilder principalBuilder = PrincipalSettings.GetConfig().GetPrincipalBuilder(false);

            if (principalBuilder != null)
            {
                IPrincipal principal = principalBuilder.CreatePrincipal(container, null);

                PrincipaContextAccessor.SetPrincipal(principal);
            }
        }
示例#2
0
        private static IGenericTokenPrincipal GetPrincipal(WfClientServiceBrokerContext context)
        {
            IGenericTokenPrincipal principal = PrincipaContextAccessor.GetPrincipalInContext <IGenericTokenPrincipal, WfClientServiceBrokerContext>(context);

            if (principal == null)
            {
                principal = PrincipaContextAccessor.GetPrincipal <IGenericTokenPrincipal>();
            }

            return(principal);
        }
示例#3
0
        public static void InitPrincipal(string userKey)
        {
            GenericTicketTokenContainer tokenContainer = new GenericTicketTokenContainer();

            tokenContainer.User     = new GenericTicketToken(Consts.Users[userKey]);
            tokenContainer.RealUser = new GenericTicketToken(Consts.Users[userKey]);

            DeluxeIdentity identity = new DeluxeIdentity(tokenContainer, null);

            DeluxePrincipal principal = new DeluxePrincipal(identity);

            PrincipaContextAccessor.SetPrincipalInContext(WfClientServiceBrokerContext.Current, principal);
        }
示例#4
0
        private static IPrincipal SetPrincipal(string userID, ITicket ticket)
        {
            IPrincipal principal = GetPrincipalInSession(userID);

            if (principal == null)
            {
                LogOnIdentity loi = new LogOnIdentity(userID);

                string identityID = string.Empty;

                if (PassportClientSettings.GetConfig().IdentityWithoutDomainName)
                {
                    identityID = loi.LogOnNameWithoutDomain;
                }
                else
                {
                    identityID = loi.LogOnName;
                }

                principal = PrincipalSettings.GetConfig().GetPrincipalBuilder().CreatePrincipal(identityID, ticket);

                HttpCookie cookie = new HttpCookie(Common.GetPrincipalSessionKey());
                cookie.Expires = DateTime.MinValue;

                CookieCacheDependency cookieDependency = new CookieCacheDependency(cookie);

                SlidingTimeDependency slidingDependency =
                    new SlidingTimeDependency(Common.GetSessionTimeOut());

                PrincipalCache.Instance.Add(
                    Common.GetPrincipalSessionKey(),
                    principal,
                    new MixedDependency(cookieDependency, slidingDependency));
            }

            PrincipaContextAccessor.SetPrincipal(principal);

            return(principal);
        }
示例#5
0
 private static DeluxePrincipal GetPrincipal()
 {
     return(PrincipaContextAccessor.GetPrincipal <DeluxePrincipal>());
 }