ASP.NET Zero--7.控制器加權限


上次已經實現了菜單權限的配置,達到了不同角色的用戶顯示不同的菜單。但這里還有BUG,如果你直接訪問 http://localhost:8019/Mpa/Test這個控制器時,並使用"Default"租戶管理員登錄,雖然菜單看不到,但卻能顯示出頁面內容。這就存在一個安全隱患。現在來對這個控制器進行權限控制。

1.打開TestController.cs

【..\MyCompanyName.AbpZeroTemplate.Web\Areas\Mpa\Controllers\TestController.cs】
控制器上面加入注解,如下代碼:
[AbpMvcAuthorize(AppPermissions.Pages_Administration_Test)]
    public class TestController : Controller
    {
        // GET: Mpa/Test
        public ActionResult Index()
        {
            return View();
        }
    }
 

2.生成項目

生成項目,訪問 http://localhost:8019/Mpa/Test這個控制器,並使用"Default"租戶管理員登錄,這時會發現系統一直登錄不了,因為我沒有給"Default"租戶中的管理員分配"測試"這個權限,所以系統判斷"Default"租戶中的管理員沒有"測試"這個權限時,跳轉再次要求登錄。
 

3.分配權限

現在讓"Default"租戶中的管理員也擁有"測試"權限,訪問 http://localhost:8019/Mpa,並用"Default"租戶管理員登錄,切換到角色功能,修改Admin角色,勾選上"測試"權限,保存刷新頁面,現在可以看到菜單了。再次訪問 http://localhost:8019/Mpa/Test這個控制器也是沒有問題的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM