コード例 #1
0
ファイル: Login.cs プロジェクト: OSRS/Oncor_Base
 public bool ChangePass(Guid sid, string user, Guid token, string newPass)
 {
     if (!Guid.Empty.Equals(sid))
     {
         if (resetTokens.ContainsKey(token))
         {
             ModuleRuntimeSession sess = Session.Prov.Get(sid);
             if (sess != null)
             {
                 IIdentityProvider idProv = IdentityManager.Instance.GetProvider(ctx);
                 UserIdentityBase  userId = idProv.Get(resetTokens[token].Token);
                 if (userId != null && userId.UserState != UserState.Dead)
                 {
                     IAuthenticationProvider authProv = AuthenticationManager.Instance.GetProvider(ctx);
                     if (authProv.AddCredential(userId, new UserPasswordCredential(user, newPass)))
                     {
                         resetTokens.Remove(token);
                         sess.SetUserBinding(userId.Uid, sess.Binding);
                         Session.Prov.Update(sess);
                         return(true);
                     }
                 }
             }
         }
     }
     return(false);
 }
コード例 #2
0
        public void LogOut(Guid sessionId)
        {
            ModuleRuntimeSession session = SessionProvider.Get(sessionId) as ModuleRuntimeSession;

            if (session != null)
            {
                session.SetUserBinding(Guid.Empty, session.Binding);
                SessionProvider.Update(session);
            }
        }
コード例 #3
0
        public static bool Bind(Guid uid, Guid sid)
        {
            ModuleRuntimeSession sess = Prov.Get(sid);

            if (sess != null)
            {
                sess.SetUserBinding(uid, sess.Binding);
                return(Prov.Update(sess));
            }
            return(false);
        }
コード例 #4
0
        protected override bool UpdateImpl(ModuleRuntimeSession session)
        {
            if (sessions.ContainsKey(session.SessionId))
            {
                ModuleRuntimeSession tmp = sessions[session.SessionId];
                if (tmp.ExpiresAt < DateTime.UtcNow)
                {
                    this.ExpireImpl(session.SessionId);
                    return(false);
                }

                tmp.SetUserBinding(session.UserId, session.Binding);
                return(true);
            }
            return(false);
        }
コード例 #5
0
 public bool LogIn(Guid sessionId, ICredential cred)
 {
     if (cred != null)
     {
         ModuleRuntimeSession session = SessionProvider.Get(sessionId) as ModuleRuntimeSession;
         if (session != null)
         {
             IUserIdentity user = AuthenticationProvider.Authenticate(cred);
             if (user != null)
             {
                 session.SetUserBinding(Guid.Empty, session.Binding);
                 return(SessionProvider.Update(session));
             }
         }
     }
     return(false);
 }