日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

易商云页面认证失败是什么情况_Serverless 云原生框架 Malagu:认证与授权

發布時間:2024/9/27 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 易商云页面认证失败是什么情况_Serverless 云原生框架 Malagu:认证与授权 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

認證與授權組件 @malagu/security 。Malagu 框架結合傳統后臺管理系統和云計算平臺的認證與授權理念,并借鑒了 Spring Security 設計思想,抽象了一套通用的認證與授權模型。Spring Security 對前后端分離架構支持不是特別友好,Malagu 框架在這方面也做了不少改進。

框架提供的認證與授權默認實現比較簡單,認證是基于用戶名與密碼方式;授權是授權裝飾器 + EL 表達式。但是,框架提供了很多擴展點,基于這些擴展點,我們可以實現各種各樣復雜的認證與授權實現,例如 @malagu/oauth2-client 組件是基于 @malagu/security 組件擴展實現,提供了基于 ODIC 的認證和 OAuth2.0 的授權能力。

使用方法

框架提供了一個開箱即用的組件 @malagu/security ,該組件提供了一套默認的行為規則,例如

  • 默認的登錄頁面路由
  • 默認的登錄提交路由
  • 默認的密碼 Hash 算法
  • 默認的登錄成功頁面路由
  • 默認的登出成功頁面路由
  • 默認的用戶服務接口實現,從內存中加載用戶信息。等等

大部分默認行為,我們無需自定義。有少量是需要我們根據業務情況自己實現的,比如登錄頁面、登錄成功頁面、登出成功頁面,以及用戶服務接口的實現(從數據庫中加載用戶信息)。安裝 @malagu/security 組件如下:

yarn add @malagu/security # 或者 npm i @malagu/security

實現登錄頁面

在登錄頁面中,默認需要通過 POST 方法(可以自定義),并且攜帶用戶名(username)和密碼(password)信息發送請求到 /login ,該動作將觸發認證流程。

默認提供的內置用戶信息:用戶名/密碼為 admin/123456(我們也可以實現用戶服務接口 UserService ,提供真實業務的用戶信息)。在后端,當用戶名和密碼認證成功,則跳轉到登錄成功頁面,默認登錄成功頁面路由是 / ,否則,跳轉到登錄頁面 /login 。

接口與頁面保護

當我們添加了該組件后,默認對外的接口方法和頁面都會被保護起來(可以通過屬性 malagu.security.enabled 全局關閉方法保護),需要登錄以后才能訪問接口方法。我們也可以給接口方法配置需要擁有什么樣的權限才能訪問,該組件默認提供了 @PreAuthorize 裝飾器,定義接口方法需要什么樣的權限才能夠被訪問。

@Get() @PreAuthorize('hasRole("admin")') // 表示當前登錄的用戶需要擁有管理員角色才可訪問 @Transactional({ readOnly: true }) list(): Promise<User[]> {const repo = OrmContext.getRepository(User);return repo.find(); }

當沒有登錄的時候,通過 ajax 直接訪問接口,將返回 401 狀態碼;通過瀏覽器訪問頁面,將返回 302 狀態碼,重定向到登錄頁面,登錄成功后,又會重定向到最開始要訪問的頁面。

登錄成功后,當我們有權限訪問該方法或頁面,則訪問成功,否則,訪問失敗,返回 403 狀態碼。

匿名訪問

方法上添加裝飾器 @Anonymous ,可以讓方法可以匿名訪問。

@Get() @Anonymous() @Transactional({ readOnly: true }) list(): Promise<User[]> {const repo = OrmContext.getRepository(User);return repo.find(); }

也可以添加到類上,讓類的所有方法可以里面訪問。

@Controller('users') @Anonymous() export class UserController {... }

相關鏈接

  • Malagu 框架項目地址
  • Malagu 框架文檔地址

總結

以上是生活随笔為你收集整理的易商云页面认证失败是什么情况_Serverless 云原生框架 Malagu:认证与授权的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。