angular安全性的問題(後端wcf)

阿明
各位先進大家好:

好久沒來發問問題了,最近接了一個專案,前端採用angular後端採用WCF撰寫,
我對angular並不熟悉,就我的理解,它是將整包東西丟給Client,讓Client自己解析或向後端api要東西。

我的問題來了…

例如:我後端有一個用工號取得姓名的方法,比如就叫做
GetUserName(string EmpID)

那angular在向我提出請求時,我會要求他在header裡包帳號及密碼讓我驗証,且這個帳號及密碼會一段時間就失效,但就是一段時間的問題…

如果使用者有機會在這個時間裡串改EmpID取得別人的姓名的機會,那不就很危險嗎?

那我是不是還要在GetUserName裡增加登入者可以查詢那些EmpID才可以有效的防範呢?

但問題來了,我現在已經寫了一百多隻API,不就只要與工號有關係的,都要加入這個登入者的資訊,才可以確保資訊不被偷走呢?

但另一個問題又來了,登入者的資訊,我也不會知道啊,API處於被動的狀態, angular也需要傳登入者的資訊給我,不是嗎?

那我又想到把傳遞的變數全部雜湊,但這好像也不是一個好方法,應該是我對angular不夠瞭解,所以才有很多問號…

我目前前端有與OIDC整合認證登入,但OIDC是客戶的,我等於是借用的,他只會回傳工號給我。

另外我後端的API也需要走SOAP,我也有卡需要帳密才能進入,而前端我目前是有一個機制,需要一個亂數產生的帳密才能進入,這個帳密我會存放於DB裡,每次驗証,但一段時間就會失效。

我就是擔心這個一段時間裡的問題…

請教各位先進是如何防範這個問題呢?我相信應該有方法,但不知關鍵字要找那個方向,是要找angular的安全防範,還是找WCF的安全性呢?



香帥
通常empid 都是跟password 連在一起,只要password 不會被取得就還好,像我們公司員工目錄,用empid就可查到姓名單位及email,這是公開的,但只有在內網可以,外網就不能進來查。password會要求每三個月強迫更換一次以保安全。
因此若在client端用自己的帳號密碼進入系統,並偷換empid,但因無法取得正確password,還是無法以偷來的empid去做壞事,因此主要是在保障password,重要系統還除了密碼,還會要求插入數位識別證,多一層安全防護。
阿明
我寫的api要開放外網使用的,所以安全層級要非常高,但是如您所說,你有密碼與工號連在一起雜湊後送到後端,可是如果我沒有密碼欄位呢?
由於我在文裡有提到,前提的認證是走OIDC,所以我也拿不到密碼,系統也沒有什麼地方是給使用者可以自己維護更改的地方,所以我目前沒有更好的方法…

頂多有SSL而已…
浩瀚星空
基本上,能動的地方還是只有你這邊。畢竟你的問題是對方修改的問題。
所以你並無法有任何防制對方怎麼樣。

你只能針對你這邊做處理。沒密碼欄位就增加密碼欄位吧。
要不然我也想不出什麼好方法就是了。
回到頂部