[ASP.NET Core] OperationPermission 身分授權範例

本篇範例程式,展示如何使用自定義的 OperationPermission,進行View層級身分授權(沒權限看不到按鈕)、進行Action層級身分授權(沒權限跳至302 Access Denied)。

範例原碼:https://github.com/Clark159/CLK.AspNetCoreLab

範例專案:OperationPermissionLab

測試步驟:
 1. 權限設定於 MockOperationPermissionRepository.cs。 
 2. 執行OperationPermissionLab專案
 3. 於Account.Login頁面點擊Login:Clark按鈕,以Clark身分登入。(Clark擁有:Home.Add、Home.Remove、Home.Update授權)
 4. 於Home.Index頁面,可以看到按鈕:Home.Add、Home.Remove、Home.Update。(View層級身分授權)
 5. 依次點選按鈕,允許進入各自的頁面:Home.Add、Home.Remove、Home.Update。(Action層級身分授權)
 6. 於Home.Index頁面,點擊登出按鈕,回到Account.Login頁面。
 7. 於Account.Login頁面點擊Login:Jane按鈕,以Jane身分登入。(Jane擁有:Home.Add授權)
 8. 於Home.Index頁面,可以看到按鈕:Home.Add。(View層級身分授權、Home.Update是特地留下來測試用)
 9. 點選Home.Add按鈕,允許進入Home.Add頁面。(Action層級身分授權)
 10. 點選Home.Update按鈕,不允許進入Home.Update頁面,並跳轉至302 Access Denied。(Action層級身分授權)

參考資料:
 
 1. [ASP.NET Core 认证与授权7动态授权-雨夜朦朧](https://www.cnblogs.com/RainingNight/tag/Authorization/)  

期許自己
能以更簡潔的文字與程式碼,傳達出程式設計背後的精神。
真正做到「以形寫神」的境界。