danieltm/http-security
Origins Framework的安全补充
V1.3
2024-09-16 19:18 UTC
Requires
- danieltm/origins: ^1.5
README
描述
HttpSecurityConfigurar
是一个与Origins框架相补充的框架,旨在以简单和高效的方式提供HTTP安全配置。它允许配置会话策略、请求模式、安全过滤器和请求匹配以进行认证和授权。
安装
- 确保已经安装并配置了Origins框架。
- 克隆或下载此存储库。
- 将Composer的autoload包含到您的项目中
使用
初始配置
创建一个扩展OnInit
的类来配置初始依赖
use Daniel\Origins\DependencyManager; use Daniel\Origins\HttpMethod; use Daniel\Origins\Inject; use Daniel\Origins\OnInit; class HttpSecurity extends OnInit { #[Inject] private HttpSecurityConfigurar $httpManager; #[Inject] private FilterChain $httpfilter; #[Override] public function ConfigOnInit() : void { $this->httpManager->sessionPolice(SessionPolice::STATELESS) ->RequestPatterns(function(RequestMatcherAction $e) { $e->Request("/")->authenticate(["adm"]); $e->Request("/teste")->authenticate(); $e->Request("/teste2", , HttpMethod::DELETE)->authenticate(["adm"]); }) ->AddFilterBefore($this->httpfilter) //->AddFilterBefore(new FilterChain()) --> não irá ter ajuda do injetor de dependecias do Origin(injeção manul nesse caso); ->any()->permitAll(); } } #[Dependency] class FilterChain extends SecurityFilterChain{ public function filterPerRequest(Request $req){ SecurityContext::setContext(new UserDatails()); } } class UserDatails implements AuthContext{ public function getUser():string{ return ""; } public function getPassword():string{ return ""; } public function getRoles():array{ return ["adm"]; } }
贡献
请随意提出问题和发送pull请求。所有贡献都受到欢迎!