LeaRun.WebApp/01 Extension/ManagerPermissionAttribute.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using LeaRun.Business;
using LeaRun.Utilities;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Mvc;
// 下载于www.51aspx.com
namespace LeaRun.WebApp
{
    /// <summary>
    /// 权限验证,加强安全验证防止未授权匿名不合法的请求
    /// <author>
    ///		<name>shecixiong</name>
    ///		<date>2014.06.11</date>
    /// </author>
    /// </summary>
    public class ManagerPermissionAttribute : AuthorizeAttribute
    {
        private PermissionMode _CustomMode;
        /// <summary>默认构造</summary>
        /// <param name="Mode">权限认证模式</param>
        public ManagerPermissionAttribute(PermissionMode Mode)
        {
            _CustomMode = Mode;
        }
        /// <summary>权限认证</summary>
        /// <param name="filterContext"></param>
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            //登录是否过期
            if (!ManageProvider.Provider.IsOverdue())
            {
                filterContext.Result = new RedirectResult("/Login/Default");
            }
            //防止被搜索引擎爬虫、网页采集器
            if (!this.PreventCreeper())
            {
                filterContext.Result = new RedirectResult("/Login/Default");
            }
            //权限拦截是否忽略
            if (_CustomMode == PermissionMode.Ignore)
            {
                return;
            }
            //执行权限认证
            if (!this.ActionAuthorize(filterContext))
            {
                ContentResult Content = new ContentResult();
                Content.Content = "<script type='text/javascript'>alert('很抱歉!您的权限不足,访问被拒绝!');</script>";
                filterContext.Result = Content;
            }
        }
        /// <summary>
        /// 执行权限认证
        /// </summary>
        /// <returns></returns>
        private bool ActionAuthorize(AuthorizationContext filterContext)
后面还有 13 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。