fshangala / auth2-ation
laravel和lumen的认证和授权系统
v1.0.1
2022-01-30 18:04 UTC
This package is auto-updated.
Last update: 2024-09-29 06:35:56 UTC
README
- 添加lumen的withFacades
- 添加lumen的withEloquent
- 注册以下服务提供者
$app->register(Fshangala\Auth2Ation\Auth2AtionServiceProvider::class);
$app->register(Fshangala\Auth2Ation\Auth\FAuthServiceProvider::class);
- 注册认证中间件
$app->middleware([
Fshangala\Auth2Ation\Http\Middleware\Errors::class,
]);
$app->routeMiddleware([
'auth' => Fshangala\Auth2Ation\Http\Middleware\Authenticate::class,
]);
- 运行迁移
- 添加以下行以使用Gate进行权限
use Illuminate\Support\Facades\Gate;
- 检查权限如下
Gate::authorize('permission',[['action'=>'create','resource'=>'permissions']]);
或者
Gate::authorize('permission',[['action'=>'read','resource'=>'users','target'=>$res->id]]);
或者
Gate::authorize('permission',[['action'=>'read','resource'=>'users','type'=>'student']]);
如果没有授权,请求将因403禁止响应而中止
- 基本操作
- 创建
- 读取
- 更新
- 删除
- 已知资源
- 权限
- 用户
有用的状态码
$statusTexts = [
100 => 'Continue',
101 => 'Switching Protocols',
102 => 'Processing', // RFC2518
103 => 'Early Hints',
200 => 'OK',
201 => 'Created',
202 => 'Accepted',
203 => 'Non-Authoritative Information',
204 => 'No Content',
205 => 'Reset Content',
206 => 'Partial Content',
207 => 'Multi-Status', // RFC4918
208 => 'Already Reported', // RFC5842
226 => 'IM Used', // RFC3229
300 => 'Multiple Choices',
301 => 'Moved Permanently',
302 => 'Found',
303 => 'See Other',
304 => 'Not Modified',
305 => 'Use Proxy',
307 => 'Temporary Redirect',
308 => 'Permanent Redirect', // RFC7238
400 => 'Bad Request',
401 => 'Unauthorized',
402 => 'Payment Required',
403 => 'Forbidden',
404 => 'Not Found',
405 => 'Method Not Allowed',
406 => 'Not Acceptable',
407 => 'Proxy Authentication Required',
408 => 'Request Timeout',
409 => 'Conflict',
410 => 'Gone',
411 => 'Length Required',
412 => 'Precondition Failed',
413 => 'Content Too Large', // RFC-ietf-httpbis-semantics
414 => 'URI Too Long',
415 => 'Unsupported Media Type',
416 => 'Range Not Satisfiable',
417 => 'Expectation Failed',
418 => 'I\'m a teapot', // RFC2324
421 => 'Misdirected Request', // RFC7540
422 => 'Unprocessable Content', // RFC-ietf-httpbis-semantics
423 => 'Locked', // RFC4918
424 => 'Failed Dependency', // RFC4918
425 => 'Too Early', // RFC-ietf-httpbis-replay-04
426 => 'Upgrade Required', // RFC2817
428 => 'Precondition Required', // RFC6585
429 => 'Too Many Requests', // RFC6585
431 => 'Request Header Fields Too Large', // RFC6585
451 => 'Unavailable For Legal Reasons', // RFC7725
500 => 'Internal Server Error',
501 => 'Not Implemented',
502 => 'Bad Gateway',
503 => 'Service Unavailable',
504 => 'Gateway Timeout',
505 => 'HTTP Version Not Supported',
506 => 'Variant Also Negotiates', // RFC2295
507 => 'Insufficient Storage', // RFC4918
508 => 'Loop Detected', // RFC5842
510 => 'Not Extended', // RFC2774
511 => 'Network Authentication Required', // RFC6585
];