ivko/yii-auth
Composer 安装命令:
composer require ivko/yii-auth
包简介
Web UI for the authorization manager of Yii PHP framework.
关键字:
README 文档
README
Auth is a module for the Yii PHP framework that provides a web user interface for Yii's built-in authorization manager (CAuthManager). You can read more about Yii's authorization manager in the framework documentation under Authentication and Authorization.
Auth was developed to provide a modern and responsive user interface for managing user permissions in Yii projects. To achieve its goals it was built using my popular Twitter Bootstrap extension.
Auth is written according to Yii's conventions and it follows the separation of concerns priciple and therefore it doesn't require you to extend from its classes. Instead it provides additional functionality for the authorization manager through a single behavior.
Demo
You can try out the live demo here.
Requirements
- Twitter Bootstrap extension for Yii version 2.0.0 or above
Usage
Setup
Download the latest release from Yii extensions.
Unzip the module under protected/modules/auth and add the following to your application config:
return array( 'modules' => array( 'auth', ), 'components' => array( 'authManager' => array( ..... 'behaviors' => array( 'auth' => array( 'class' => 'auth.components.AuthBehavior', ), ), ), 'user' => array( 'class' => 'auth.components.AuthWebUser', 'admins' => array('admin', 'foo', 'bar'), // users with full access ), ), );
protected/config/main.php
Please note that while the module doesn't require you to use a database, if you wish to use CDbAuthManager you need it's schema (it can be found in the framework under web/auth).
Configuration
Configure the module to suit your needs. Here's a list of the available configurations (with default values).
'auth' => array( 'strictMode' => true, // when enabled authorization items cannot be assigned children of the same type. 'userClass' => 'User', // the name of the user model class. 'userIdColumn' => 'id', // the name of the user id column. 'userNameColumn' => 'name', // the name of the user name column. 'defaultLayout' => 'application.views.layouts.main', // the layout used by the module. 'viewDir' => null, // the path to view files to use with this module. ),
Enabling caching
To enable caching for CDbAuthManager you can use CachedDbAuthManager that provides caching for access checks. Here's an example configuration for the component:
'authManager'=>array( 'class'=>'auth.components.CachedDbAuthManager', 'cachingDuration'=>3600, ),
Checking access
When you wish to check if the current user has a certain permission you can use the CWebUser::checkAccess() method which can be access from anywhere in your application through Yii::app() like so:
if (Yii::app()->user->checkAccess('itemName')) // itemName = name of the operation { // access is allowed. }
In order to keep your permissions dynamic you should never check for a specific role or task, instead you should always check for an operation. For more information on Yii's authorization manager refer to the framework documentation on Authentication and Authorization.
Checking access using a filter
You can also use a filter to automatically check access before controller actions are called. Operations used with this filter has to be named as follows (moduleId.)controllerId.actionId, where moduleId is optional. You can also use a wildcard controllerId.* instead of the actionId to cover all actions in the controller or module.* instead of the controllerId to cover all controllers in the module.
public function filters() { return array( array('auth.filters.AuthFilter'), ); }
For more information on how filters work refer to the framework documentation on Controllers.
Internationalization
Do you wish to provide a translation for Auth? If so, please do a pull request for it. Translations should be placed in the messages folder under a folder named according to its locale (e.g. en_us).
Note
Note: Version 1.0.6-wip use and require yiistrap!! yiistrap is next generation yii-bootsrap
ivko/yii-auth 适用场景与选型建议
ivko/yii-auth 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 25 次下载、GitHub Stars 达 0, 最近一次更新时间为 2016 年 12 月 02 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「Authentication」 「yii」 「rbac」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 ivko/yii-auth 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 ivko/yii-auth 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 ivko/yii-auth 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Automatically logs-in users if they are already authenticated by a remote source. (e.g. environment variable REMOTE_USER)
GraphQL authentication for your headless Craft CMS applications.
Yii2 LightBox image galary widget uses Lightbox v2.10.0 by Lokesh Dhakar
Laravel middleware to restrict a site or specific routes using HTTP basic authentication
Email Toolkit Plugin for CakePHP
Priveate for SkeekS CMS
统计信息
- 总下载量: 25
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2016-12-02