1. 程式人生 > >mvc5 自定義實現身份授權

mvc5 自定義實現身份授權

mvc5自帶有Identity使用者管理,使用者授權等,如何利用它們在我們自己的專案中對使用者授權,如果授權失敗,跳轉一個預設的頁面給使用者提示,對微軟Identity使用者管理了理解還比較淺,大神誤噴

 public class MyAuthorizeAttribute : AuthorizeAttribute
    {

        /// <summary>
        /// 授權的邏輯處理, 授權成功true,否則false      可根據實際需求處理
        /// </summary>
        /// <param name="httpContext">http請求</param>
        /// <returns></returns>
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
          //  var user = httpContext.User as ClaimsPrincipal;  ////是支援多個基於身份標示,目前這塊不太清楚
            var Role = httpContext.User.IsInRole("admin");//判斷使用者是否屬於admin角色
            if (Role)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        /// <summary>
        /// 授權失敗跳轉頁面
        /// </summary>
        /// <param name="filterContext"></param>
        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            filterContext.HttpContext.Response.Redirect("/Home/About");

            ///繼承AuthorizeAttribute預設方法
            //base.HandleUnauthorizedRequest(filterContext);

        }




    }