Ejemplo n.º 1
0
        public ActionResult Logout()
        {
            UserSessionSet.UserSession session;

            if (!Authentificate.checkAuthentificate(out session, this))
            {
                return(RedirectToAction("Index", "Account"));
            }

            service.Logout(session.Key.ToString());
            session.State = SessionSetBase <UserSessionSet, UserSessionSet.UserSession> .SessionStates.Anonymous;

            return(RedirectToAction("Index", "Account"));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Проверка доступа для текущего пользователя: должен быть аутентифицирован, должны быть права на данное действие
        /// </summary>
        /// <param name="filterContext">Контекст авторизации</param>
        protected override void OnAuthorization(AuthorizationContext filterContext)
        {
            base.OnAuthorization(filterContext);

            // Проверяем аутентификацию пользователя
            if (!Authentificate.checkAuthentificate(out this.session, this))
            {
                filterContext.Result = RedirectToAction("Index", "Account");
                return;
            }

            // Проверяем права доступа к данному объекту
            bool access = CheckAccess(filterContext);

            if (!access)
            {
                filterContext.Result = View("Error/Error403");
                return;
            }

            // Обеспечиваем корректный вывод имени текущего пользователя в меню системы
            this.ViewBag.userinfo = this.session.User;
        }