Elight.WebUI/Filters/LoginCheckedAttribute.cs

(完整代码) 1KB

using Elight.Utility.Extension;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
using System.Text;
using Elight.Utility.Operator;

namespace Elight.WebUI.Filters
{
    /// <summary>
    /// 表示一个特性,该特性用于标识用户是否需要登陆。
    /// </summary>
    public class LoginCheckedAttribute : ActionFilterAttribute
    {

        public bool Ignore { get; set; }
        public LoginCheckedAttribute(bool ignore = true)
        {
            Ignore = ignore;
        }

        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (!Ignore)
            {
                return;
            }

            if (OperatorProvider.Instance.Current == null)
            {
                //StringBuilder script = new StringBuilder();
                //script.Append("<script>top.location.href = '/account/login';</script>");
                //filterContext.Result = new ContentResult() { Content = script.ToString() };
                //filterContext.HttpContext.Response.//Write("<script>top.location.href = '/account/login'</script>");
                filterContext.HttpContext.Response.Redirect("/account/login");
            }
        }
    }
}

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

AI 解读 AI

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

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