コード例 #1
0
        /// <summary>
        /// </summary>
        /// <param name="user"></param>
        protected virtual void SendVerifyEmail(User user, IMemberShipFactory _daFactory)
        {
            VerifyEmailModel model = new VerifyEmailModel();

            model.Id = user.Id;
            model.Send(_daFactory);
        }
コード例 #2
0
 /// <summary>
 /// </summary>
 /// <param name="memberShipFactory"></param>
 /// <returns></returns>
 protected override IList <User> GetInsideUsers(IMemberShipFactory memberShipFactory)
 {
     return(new List <User>
     {
         this.User
     });
 }
コード例 #3
0
        /// <summary>
        ///     ÓÃtemplateÉú³Ésinple message
        /// </summary>
        /// <param name="daoFactory"></param>
        /// <param name="replaceVariabled"></param>
        /// <param name="performers"></param>
        public virtual void Publish(
            IMemberShipFactory daoFactory,
            CreateVariablesHandler replaceVariabled,
            params IPerformer[] performers)
        {
            if (daoFactory == null)
            {
                throw new ArgumentNullException("daoFactory");
            }
            if (replaceVariabled == null)
            {
                throw new ArgumentNullException("replaceVariabled");
            }
            if (performers == null)
            {
                throw new ArgumentNullException("performers");
            }
            var targetuser = new HashSet <User>();

            foreach (IPerformer performer in performers)
            {
                foreach (User user in performer.GetUsers(daoFactory))
                {
                    targetuser.Add(user);
                }
            }


            foreach (User user in targetuser)
            {
                Dictionary <string, string> data = replaceVariabled(user);
                Publish(daoFactory, data, user);
            }
        }
コード例 #4
0
        /// <summary>
        /// </summary>
        /// <param name="daoFactory"></param>
        /// <returns></returns>
        public bool Send(IMemberShipFactory daoFactory)
        {
            if (daoFactory == null)
            {
                throw new ArgumentNullException("daoFactory");
            }
            if (String.IsNullOrEmpty(Id))
            {
                throw new ArgumentException("Id", "Id is empty");
            }
            User myUsers = daoFactory.CreateUserDao().Get(Id);

            if (myUsers == null)
            {
                throw new ArgumentException("Id", String.Format("can not find any use with id={0}", Id));
            }
            EmailVerifier token = myUsers.Contact.VerifyEmail(30, daoFactory);

            var deleage = new CreateVariablesHandler(user => new Dictionary <string, string>
            {
                { "name", user.Name },
                { "parameters", token.CreateQueryString() }
            });

            OrnamentContext.Configuration.MessagesConfig.VerifyEmailAddress.Publish(daoFactory, deleage, myUsers);

            daoFactory.CreateUserDao().SaveOrUpdate(myUsers);
            return(true);
        }
コード例 #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="factory"></param>
 public SecurityController(IMemberShipFactory factory)
 {
     if (factory == null)
     {
         throw new ArgumentNullException("factory");
     }
     _factory = factory;
 }
コード例 #6
0
            /// <summary>
            ///     Veirfy Email
            /// </summary>
            /// <param name="expireMiniutes"></param>
            /// <param name="daoFactory"></param>
            /// <returns></returns>
            public virtual EmailVerifier VerifyEmail(int expireMiniutes, IMemberShipFactory daoFactory)
            {
                var dao    = daoFactory.CreateEmailVerifierDao();
                var result = new EmailVerifier(User, expireMiniutes, VerifyType.Email);

                dao.SaveOrUpdate(result);
                EmailVerified = false;
                return(result);
            }
コード例 #7
0
        /// <summary>
        /// </summary>
        /// <param name="token"></param>
        /// <param name="daoFactory"></param>
        /// <returns></returns>
        /// <exception cref="EmailSecurityTimeoutException">User Token is Timeout</exception>
        public virtual VerifyResult Verify(string token, IMemberShipFactory daoFactory)
        {
            VerifyResult re = Verify(token);

            if (re == VerifyResult.Success)
            {
                this.Account.Contact.EmailVerified = true;
                daoFactory.CreateUserDao().SaveOrUpdate(this.Account);
            }
            daoFactory.CreateEmailVerifierDao().SaveOrUpdate(this);

            return(re);
        }
コード例 #8
0
        public object Execute(IMemberShipFactory factory)
        {
            IUserDao dao = factory.CreateUserDao();

            for (int i = 0; i < Ids.Length; i++)
            {
                string id = Ids[i];
                User user = dao.Load(id);
                user.IsDeny = IsDeny;
                dao.SaveOrUpdate(user);
            }

            return new {success = true};
        }
コード例 #9
0
 public User Save(IMemberShipFactory memberShipFactory)
 {
     if (memberShipFactory == null) throw new ArgumentNullException("memberShipFactory");
     User user = memberShipFactory.CreateUserDao().Get(Id);
     UpdateOn(user);
     Permissions.UpdateOn(user);
     memberShipFactory.CreateUserDao().SaveOrUpdate(user);
     SessionManager.GetSessionWrapper().CurrentSession.SaveOrUpdate(user.Contact);
     if (VerifyEmail && EmailHasChanged)
     {
         SendVerifyEmail(user, memberShipFactory);
     }
     return user;
 }
コード例 #10
0
        public object Execute(IMemberShipFactory factory)
        {
            IUserDao dao = factory.CreateUserDao();

            for (int i = 0; i < Ids.Length; i++)
            {
                string id   = Ids[i];
                User   user = dao.Load(id);
                user.IsDeny = IsDeny;
                dao.SaveOrUpdate(user);
            }

            return(new { success = true });
        }
コード例 #11
0
            public virtual EmailVerifier ResetPassword(IMemberShipFactory daoFactory, int expireMiniutes)
            {
                if (daoFactory == null)
                {
                    throw new ArgumentNullException("daoFactory");
                }
                if (expireMiniutes <= 0)
                {
                    expireMiniutes = 30;
                }
                var result = new EmailVerifier(User, expireMiniutes, VerifyType.ResetPassword);

                daoFactory.CreateEmailVerifierDao().SaveOrUpdate(result);
                return(result);
            }
コード例 #12
0
        public VerifyResult Save(IMemberShipFactory factory)
        {
            EmailVerifier userToken = factory.CreateEmailVerifierDao().Get(Id);

            if (userToken == null)
            {
                return(VerifyResult.NotFoundTokenId);
            }
            if (userToken.Verify(TokenId, factory) == VerifyResult.Success)
            {
                userToken.Account.Security.ChangePassword(PasswordModel.NewPassword);
                factory.CreateUserDao().Update(userToken.Account);
                return(VerifyResult.Success);
            }
            return(VerifyResult.Failed);
        }
コード例 #13
0
        /// <summary>
        /// </summary>
        /// <param name="loginUser"></param>
        /// <param name="token"></param>
        /// <param name="daoFactory"></param>
        /// <returns></returns>
        public VerifyResult Verify(User loginUser, string token, IMemberShipFactory daoFactory)
        {
            if (loginUser != _emailVerifier.Account)
            {
                return(VerifyResult.Failed);
            }

            if (_emailVerifier.Type == VerifyType.Email &&
                _emailVerifier.Verify(token, daoFactory) == VerifyResult.Success)
            {
                daoFactory.CreateUserDao().SaveOrUpdate(loginUser);
                return(VerifyResult.Success);
            }

            return(VerifyResult.Failed);
        }
コード例 #14
0
        /// <summary>
        /// </summary>
        /// <param name="loginUser"></param>
        /// <param name="token"></param>
        /// <param name="daoFactory"></param>
        /// <returns></returns>
        public VerifyResult Verify(User loginUser, string token, IMemberShipFactory daoFactory)
        {
            if (loginUser != _emailVerifier.Account)
            {
                return VerifyResult.Failed;
            }

            if (_emailVerifier.Type == VerifyType.Email
                && _emailVerifier.Verify(token, daoFactory) == VerifyResult.Success)
            {
                daoFactory.CreateUserDao().SaveOrUpdate(loginUser);
                return VerifyResult.Success;
            }

            return VerifyResult.Failed;
        }
コード例 #15
0
        public VerifyResult Save(IMemberShipFactory factory)
        {
            EmailVerifier userToken = factory.CreateEmailVerifierDao().Get(Id);

            if (userToken == null)
            {
                return VerifyResult.NotFoundTokenId;
            }
            if (userToken.Verify(TokenId, factory) == VerifyResult.Success)
            {
                userToken.Account.Security.ChangePassword(PasswordModel.NewPassword);
                factory.CreateUserDao().Update(userToken.Account);
                return VerifyResult.Success;
            }
            return VerifyResult.Failed;
        }
コード例 #16
0
        public User Save(IMemberShipFactory memberShipFactory)
        {
            if (memberShipFactory == null)
            {
                throw new ArgumentNullException("memberShipFactory");
            }
            User user = memberShipFactory.CreateUserDao().Get(Id);

            UpdateOn(user);
            Permissions.UpdateOn(user);
            memberShipFactory.CreateUserDao().SaveOrUpdate(user);
            SessionManager.GetSessionWrapper().CurrentSession.SaveOrUpdate(user.Contact);
            if (VerifyEmail && EmailHasChanged)
            {
                SendVerifyEmail(user, memberShipFactory);
            }
            return(user);
        }
コード例 #17
0
        /// <summary>
        /// </summary>
        /// <param name="daoFactory"></param>
        public RetrievePasswordResult Retrieve(IMemberShipFactory daoFactory)
        {
            User user = daoFactory.CreateUserDao().GetByLoginId(AccountOrEmail) ??
                        daoFactory.CreateUserDao().GetUserByEmail(AccountOrEmail);
            if (user == null)
            {
                return RetrievePasswordResult.NotExistAccountOrEmail;
            }

            EmailVerifier emailToken = user.Security.ResetPassword(daoFactory, 50);
            var direct = new Dictionary<string, string>
            {
                {"name", user.Name},
                {"loginId", user.LoginId},
                {"parameters", emailToken.CreateQueryString()}
            };
            OrnamentContext.Configuration.MessagesConfig.RetrivePassword.Publish(daoFactory, direct, user);
            return RetrievePasswordResult.Success;
        }
コード例 #18
0
        public object Execute(IMemberShipFactory factory)
        {
            IUserDao dao = factory.CreateUserDao();

            for (int i = 0; i < Ids.Length; i++)
            {
                string id = Ids[i];
                User user = dao.Get(id);
                if (!Lockout)
                {
                    user.Security.Unlock();
                }
                else
                {
                    user.Security.Lockout();
                }
            }

            return new {success = true};
        }
コード例 #19
0
        public object Execute(IMemberShipFactory factory)
        {
            IUserDao dao = factory.CreateUserDao();

            for (int i = 0; i < Ids.Length; i++)
            {
                string id   = Ids[i];
                User   user = dao.Get(id);
                if (!Lockout)
                {
                    user.Security.Unlock();
                }
                else
                {
                    user.Security.Lockout();
                }
            }

            return(new { success = true });
        }
コード例 #20
0
        /// <summary>
        /// </summary>
        /// <param name="daoFactory"></param>
        public RetrievePasswordResult Retrieve(IMemberShipFactory daoFactory)
        {
            User user = daoFactory.CreateUserDao().GetByLoginId(AccountOrEmail) ??
                        daoFactory.CreateUserDao().GetUserByEmail(AccountOrEmail);

            if (user == null)
            {
                return(RetrievePasswordResult.NotExistAccountOrEmail);
            }

            EmailVerifier emailToken = user.Security.ResetPassword(daoFactory, 50);
            var           direct     = new Dictionary <string, string>
            {
                { "name", user.Name },
                { "loginId", user.LoginId },
                { "parameters", emailToken.CreateQueryString() }
            };

            OrnamentContext.Configuration.MessagesConfig.RetrivePassword.Publish(daoFactory, direct, user);
            return(RetrievePasswordResult.Success);
        }
コード例 #21
0
        /// <summary>
        /// </summary>
        /// <param name="daoFactory"></param>
        /// <returns></returns>
        public bool Send(IMemberShipFactory daoFactory)
        {
            if (daoFactory == null) throw new ArgumentNullException("daoFactory");
            if (String.IsNullOrEmpty(Id))
                throw new ArgumentException("Id", "Id is empty");
            User myUsers = daoFactory.CreateUserDao().Get(Id);
            if (myUsers == null)
            {
                throw new ArgumentException("Id", String.Format("can not find any use with id={0}", Id));
            }
            EmailVerifier token = myUsers.Contact.VerifyEmail(30, daoFactory);

            var deleage = new CreateVariablesHandler(user => new Dictionary<string, string>
            {
                {"name", user.Name},
                {"parameters", token.CreateQueryString()}
            });
            OrnamentContext.Configuration.MessagesConfig.VerifyEmailAddress.Publish(daoFactory, deleage, myUsers);

            daoFactory.CreateUserDao().SaveOrUpdate(myUsers);
            return true;
        }
コード例 #22
0
        /// <summary>
        ///     Create a user and send a active email to user.
        /// </summary>
        public bool Create(IMemberShipFactory dao, out string errorMessage)
        {
            errorMessage = null;
            var createUser = new User(LoginId, Password);
            UpdateOn(createUser);
            //Check duplicate account.
            IUserDao userDao = dao.CreateUserDao();
            User user = userDao.GetByLoginId(createUser.LoginId);
            if (user != null)
            {
                errorMessage = "Duplciate login Id.";
                return false;
            }
            userDao.SaveOrUpdate(createUser);
            userDao.Flush();
            if (this.VerifyEmail)
            {
                SendVerifyEmail(createUser, dao);
            }

            return true;
        }
コード例 #23
0
        public virtual void Publish(IMemberShipFactory daoFactory, IDictionary <string, string> variable,
                                    User performers)
        {
            if (daoFactory == null)
            {
                throw new ArgumentNullException("daoFactory");
            }
            if (variable == null)
            {
                throw new ArgumentNullException("variable");
            }
            if (performers == null)
            {
                throw new ArgumentNullException("performers");
            }
            var     helper  = new NamedFormatterHelper();
            Content content = GetContent(performers);

            foreach (string key in NotifySenderManager.Instance.Variables.Keys)
            {
                if (!variable.ContainsKey(key))
                {
                    variable.Add(key, NotifySenderManager.Instance.Variables[key]);
                }
            }

            var simpleMessage = new SimpleMessage(performers)
            {
                Content = new Content
                {
                    Language = content.Language,
                    Subject  = helper.Replace(content.Subject, variable),
                    Value    = helper.Replace(content.Value, variable)
                }
            };

            Type.Send(simpleMessage);
        }
コード例 #24
0
        /// <summary>
        ///     Create a user and send a active email to user.
        /// </summary>
        public bool Create(IMemberShipFactory dao, out string errorMessage)
        {
            errorMessage = null;
            var createUser = new User(LoginId, Password);

            UpdateOn(createUser);
            //Check duplicate account.
            IUserDao userDao = dao.CreateUserDao();
            User     user    = userDao.GetByLoginId(createUser.LoginId);

            if (user != null)
            {
                errorMessage = "Duplciate login Id.";
                return(false);
            }
            userDao.SaveOrUpdate(createUser);
            userDao.Flush();
            if (this.VerifyEmail)
            {
                SendVerifyEmail(createUser, dao);
            }

            return(true);
        }
コード例 #25
0
 public TaskController(IMemberShipFactory memberShipFactory, IMessageDaoFactory messageDaoFactory)
 {
     _memberShipFactory = memberShipFactory;
     _messageDaoFactory = messageDaoFactory;
 }
コード例 #26
0
 protected override IList <User> GetInsideUsers(IMemberShipFactory memberShipFactory)
 {
     return(memberShipFactory.CreateUserDao().GetUsers(this.UserGroup));
 }
コード例 #27
0
 public MemberShipContext(IMemberShipFactory factory)
 {
     _factory = factory;
 }
コード例 #28
0
 public PersonalMessagesController(IMessageDaoFactory factory, IMemberShipFactory memberShipFactory)
 {
     _factory = factory;
     _memberShipFactory = memberShipFactory;
 }
コード例 #29
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="factory"></param>
 public SecurityController(IMemberShipFactory factory)
 {
     if (factory == null)
         throw new ArgumentNullException("factory");
     _factory = factory;
 }
コード例 #30
0
 public TaskController(IMemberShipFactory memberShipFactory, IMessageDaoFactory messageDaoFactory)
 {
     _memberShipFactory = memberShipFactory;
     _messageDaoFactory = messageDaoFactory;
 }
コード例 #31
0
 public UserController(IMemberShipFactory memberShipFactory)
 {
     _memberShipFactory = memberShipFactory;
     _userDao           = _memberShipFactory.CreateUserDao();
 }
コード例 #32
0
 public UsersController(IMemberShipFactory factory)
 {
     _factory = factory;
 }
コード例 #33
0
 public FileController(IMemberShipFactory factory)
 {
     _factory = factory;
 }
コード例 #34
0
 public ProjectController(IProjectDaoFactory factory, IMemberShipFactory memberShipFactory)
 {
     _dao = factory;
     _memberShipFactory = memberShipFactory;
 }
コード例 #35
0
 public OrnamentProfileProvider(IMemberShipFactory memberShip)
 {
     _memberShip = memberShip;
 }
コード例 #36
0
 public RolesController(IMemberShipFactory factory)
 {
     _factory = factory;
 }
コード例 #37
0
 public RolesController(IMemberShipFactory factory)
 {
     _factory = factory;
 }
コード例 #38
0
 public FriendsController(IMemberShipFactory dao)
 {
     _dao = dao;
 }
コード例 #39
0
 public RoleController(IMemberShipFactory factory)
 {
     _roleDao = factory.CreateRoleDao();
     _factory = factory;
 }
コード例 #40
0
 public SecurityController(IMemberShipFactory factory)
 {
     _factory = factory;
 }
コード例 #41
0
 public SecurityController(IMemberShipFactory factory)
 {
     _factory = factory;
 }
コード例 #42
0
 public MemberController(IMemberShipFactory memberShipFactory)
 {
     _memberShipFactory = memberShipFactory;
 }
コード例 #43
0
 public UsersController(IMemberShipFactory factory)
 {
     _factory = factory;
 }
コード例 #44
0
 public FriendsController(IMemberShipFactory dao)
 {
     _dao = dao;
 }
コード例 #45
0
 /// <summary>
 /// </summary>
 /// <param name="user"></param>
 protected virtual void SendVerifyEmail(User user, IMemberShipFactory _daFactory)
 {
     VerifyEmailModel model = new VerifyEmailModel();
     model.Id = user.Id;
     model.Send(_daFactory);
 }
コード例 #46
0
 public FileController(IMemberShipFactory factory)
 {
     _factory = factory;
 }
コード例 #47
0
 public PersonalMessagesController(IMessageDaoFactory factory, IMemberShipFactory memberShipFactory)
 {
     _factory           = factory;
     _memberShipFactory = memberShipFactory;
 }
コード例 #48
0
 protected override IList <User> GetInsideUsers(IMemberShipFactory memberShipFactory)
 {
     return(memberShipFactory.CreateUserDao().GetUsersInRole(Name));
 }
コード例 #49
0
 public UsersStatusModel(IMemberShipFactory daoFactory)
 {
     _daoFactory = daoFactory;
     ActiveDuringTime = 20;
 }
コード例 #50
0
 public ProjectController(IProjectDaoFactory factory, IMemberShipFactory memberShipFactory)
 {
     _dao = factory;
     _memberShipFactory = memberShipFactory;
 }
コード例 #51
0
 IList <User> IPerformer.GetUsers(IMemberShipFactory memberShipFactory)
 {
     return(GetInsideUsers(memberShipFactory));
 }
コード例 #52
0
 public PermissionsController(IMemberShipFactory factory)
 {
     _memberShipFactory = factory;
 }
コード例 #53
0
 protected abstract IList <User> GetInsideUsers(IMemberShipFactory memberShipFactory);
コード例 #54
0
 public UserController(IMemberShipFactory memberShipFactory)
 {
     _memberShipFactory = memberShipFactory;
     _userDao = _memberShipFactory.CreateUserDao();
 }
コード例 #55
0
 public PermissionsController(IMemberShipFactory factory)
 {
     _memberShipFactory = factory;
 }