https://avatars.githubusercontent.com/u/6058558

程式狂想筆記

Visual Studio Code 在不同專案上裝上各自套件 Extension

我們工程師有時候會寫前端、後端程式,相關裝的套件會不太一樣。像是以前寫 Java 開發的設定會不一樣,我們會複製多個 Eclipse 依照專案做設定和安裝套件,但是 Visual Studio Code 是針對 User使用者帳號,在管理上我們不太可能切換帳號。這邊有找到方法試試。

2023年欣亞電腦購買記

舊電腦用了8年前,最近朋友看到記憶體有下降,電腦也用了一陣子,是可以換電腦了。這邊特別紀錄 2023 年在欣亞購買電腦心得,順便紀錄購買電腦需要注意的事情。

.Net Core Identity 令牌驗證與帳號安全

本篇筆記紀錄使用 Net Core Identity 產生 Token 所做令牌做一些驗證信處理,帳號登入錯誤太多次,我們可以設定安全規則,在多次登入失敗可以封鎖幾分鐘帳號。我們可以產生令牌,令牌是有時效的,超過時間就會過期,這邊令牌非一般 JWT ,他是有 Data Protection API 做一層加密,這邊不會探討這部分。

.Net Core Identity 角色管理

我們常常開發程式帳號登入,通常還會做權限功能,這邊很常開發會用角色(Role)這個東西,去做權限劃分,有時候我們需要更細,但系統不一定會做到這樣,但有沒有常見規劃權限方法。 常見權限方法 之前看到 RBAC這個名詞是在 Kubernetes 那邊看到,那時候還沒有深入了解設計理念,最近在看 .Net Core Identity 文章,看到這個框架有做這個非常方便東西,可以瞭解這個是什麼用途。 RBAC 以角色為基礎的存取控制[1][2](英語:Role-based access control,RBAC),是資訊安全領域中,一種較新且廣為使用的存取控制機制,其不同於強制存取控制以及自由選定存取控制[3]直接賦予使用者權限,而是將權限賦予角色。 以角色為基礎的存取控制模型是一套較強制存取控制以及自由選定存取控制更為中性且更具靈活性的存取控制技術。 參考: 以角色為基礎的存取控制 - 維基百科,自由的百科全書 更多可以看Role-Based Access Control (RBAC). 作者:銀伶 | by I.S. BLOG | Medium。 CBAC Claim 動詞則有宣稱,聲稱, 主張, 自稱, 指控, 認領,索賠等意思 名詞則有權利 , 要求權和聲明等 Claims-based 則是一個專有詞,代表基於聲明的認證(Claims-based identity) 用於Google,Facebook,Microsoft等都有此機制的概念導入 參考: ASP.NET MVC第014天_ASP.NET Identity使用筆記_使用者登入_Claims-based identity理解 網路上比較少介紹 CBAC,簡單它可以分更細權限,這邊帳號可以設定特定角色,但是有時候有例外,像是帳號想把它加上權限上去,透過CBAC就可以設定。但注意 Claim不是只有套用在帳號上面,也可以套用帳號上面。 建立角色 GIT: 建立角色 · malagege/NetCoreAuthSample@578bdd6 RoleManager 可以簡單對 Role 做 CRUD。會新增到 AspNetRoles 資料表。 Controller 注入 RoleManager 建立ModelView Controller 建立Role View 設定 簡單步驟跟之前差不多

產生 JWT Token 方法

平常我們前後端開發會使用 JWT Token,JWT Token 有讀過相關文章就知道它裡面會存一些資訊,相關驗證都會在 JWT 上面,Server 讀取上面資料就知道是哪一個使用者,不需要在做資料庫查詢。這時候你會覺得這樣安全嗎?但其實它背後原理有做簽章,當你串改資料,JWT 驗證是不會過的,相對機密資料就不建議存在上面。

Traefik 反向代理 (Reverse Proxy) IP Host 方法

最近在架 KVM 使用 WebVirtCloud 做網頁遠端控制 VM,之前研究 Ubuntu 啟用 VNC 是為了能控制 VM GUI 介面,但是在公司沒法連線使用,這邊有找到 WebVirtCloud 可以解決這個問題,透過這個服務可能用 Traefik 轉服務出去,透過 Authelia 做 2FA 驗證可以相當方便,但我發現我不會轉 host 服務出去,這邊就特別研究怎麼用。