Exemplo 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"));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Проверяет права доступа к запрашиваемому действию
        /// </summary>
        /// <param name="filterContext">Контекст запроса</param>
        /// <returns>true - доступ разрешен, false - иначе</returns>
        private bool CheckAccess(AuthorizationContext filterContext)
        {
            var actionName = filterContext.ActionDescriptor.ActionName;
            var methodInfo = filterContext.Controller.GetType().GetMethod(actionName);
            var attr       = Attribute.GetCustomAttribute(methodInfo, typeof(PageIDAttribute)) as PageIDAttribute;

            long pageId = -1;

            if (attr != null)
            {
                pageId = attr.PageID;
            }

            ObjectAccessResult AccessInfo = Authentificate.checkAuthorization(this.session, pageId);
            bool readAccess = AccessInfo.Access.Read;

            return(readAccess);
        }
Exemplo n.º 3
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;
        }
Exemplo n.º 4
0
 private void AuthForm_Load(object sender, EventArgs e)
 {
     this.msg     = new MSG();
     this.cutAuth = new Authentificate();
 }