-
Notifications
You must be signed in to change notification settings - Fork 2
appflower/afGuardPlugin
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
afGuard plugin
==============
This plugin was born from sfGuardPlugin.
It is modified to be compatible for applications using AppFlowerPlugin.
What you need to use it ?
Your symfony application should have AppFlowerPlugin already installed.
Next you should install afGuardPlugin in your project - you can just copy its
files or clone git repository from github git://github.com/appflower/afGuardPlugin.git
As always you should rebuild model and sql, running:
./symfony propel:build-model
./symfony propel:build-sql
./symfony cc
Now you should initiate proper database structure with (thiw will delete all your data:O):
./symfony propel:insert-sql
This will drop and re-create all your tables. If you don't want to do that, you may also
paste the SQL into Studio's DB Query tool and execute the query.
Change settings.yml like:
all:
.settings:
.enabled_modules: [default, ..., afGuardAuth]
.actions:
login_module: afGuardAuth
login_action: signin
secure_module: afGuardAuth
secure_action: insufficientCredentials
Copy the following files from the Plugin dir to your appllication:
config/pages/security.xml to apps/frontend/config/pages/security.xml
modules/pages/actions/securityAction.class.php to apps/frontend/modules/pages/actions
Make sure that you ProjectConfiguration class implements AppFlowerApplication interface correctly.
If you use Propel 1.6 you can do it by adding following method to configuration class:
function getAppFlowerUserQuery()
{
return afGuardUserQuery::create();
}
Change you apps/frontend/lib/myUser.class.php to extend afGuardSecurityUser instead of sfBasicSecurityUser
You should also change implementation of AppFlowerSecurityUser interface. Since
you have already installed AppFlowerPlugin before you probably have myUser::getAppflowerUser() method like below:
public function getAppFlowerUser()
{
return new AppFlowerAnonymousUser;
}
You should change it to:
public function getAppFlowerUser()
{
$guardUser = $this->getGuardUser();
if ($guardUser) {
return $guardUser;
} else {
return new AppFlowerAnonymousUser;
}
}
You should also enable (in settings.yml) more modules like: afGuardUser, afGuardGroup to manage users and groups through AF interface.
all:
.settings:
.enabled_modules: [defaul, ..., afGuardAuth, afGuardUser, afGuardGroup, afGuardPermission]
After this you can access them using url: http://yourapp/#/afGuardUser/list
If you want to use "remember me" functionality change security filer in your apps/frontend/config/filters.yml:
security:
class: afGuardBasicSecurityFilter
That's it. Now it's time enable the security layer and secure your application.
You probably want to have default 404 page not secured so users won't have to log in to see 404 page.
You should load up your app and open:
http://yourapp/#/pages/security
This is the security dashboard, which allows you to manage permissions, users and groups. You should create at least one user (admin).
Detailed usage instructions can be found here:
http://www.appflower.com/cms/practical_users
This will secure your application, you'll have to login from now on to access it.
Another feature you might want to use is captcha.
You just need to install sfCaptchaPlugin (from AppFlower repository). After this when user fails to log in few times - captcha files will be added to login form to protect against brute force login attacks.
Captcha feature is using APC
About
AppFlower port of sfGuardPlugin
Resources
Stars
Watchers
Forks
Packages 0
No packages published