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

程式狂想筆記

SameSite Cookie 和 Same Origin Policy 是什麼

一般我們使用 Ajax 很長遇到跨域問題,之前我們很長設定 CORS 後端坐跨域設定結束這一回合。最近有研究 SSO 登入,有關 cookies 在不同子網域能不能做到 cookies 問題,原本覺得 cookies 是走 origin 的。結果後來發現 cookies 是走 SameSite ,我這邊就馬上惡補一下。結果發現有些東西很重要,但我竟然不知道,這邊簡單筆記一下。不過大致上你沒有要做到跨子網域登入一些東西可能就用不太到。

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 資料表。

  1. Controller 注入 RoleManager
  2. 建立ModelView
  3. Controller 建立Role
  4. View 設定

簡單步驟跟之前差不多