Jira Abfrage
This commit is contained in:
@@ -227,3 +227,6 @@ if (Configure::read('debug')) {
|
||||
|
||||
//Plugin::load('AsdCurl', ['autoload' => true]);
|
||||
Plugin::load('AsdCurl', ['autoload' => true, 'bootstrap' => true, 'routes' => true]);
|
||||
|
||||
Configure::write('Users.config', ['users']);
|
||||
Plugin::load('CakeDC/Users', ['routes' => true, 'bootstrap' => true]);
|
||||
|
||||
121
config/permissions.php
Normal file
121
config/permissions.php
Normal file
@@ -0,0 +1,121 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2010 - 2017, Cake Development Corporation (https://www.cakedc.com)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright 2010 - 2017, Cake Development Corporation (https://www.cakedc.com)
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
/*
|
||||
* IMPORTANT:
|
||||
* This is an example configuration file. Copy this file into your config directory and edit to
|
||||
* setup your app permissions.
|
||||
*
|
||||
* This is a quick roles-permissions implementation
|
||||
* Rules are evaluated top-down, first matching rule will apply
|
||||
* Each line define
|
||||
* [
|
||||
* 'role' => 'role' | ['roles'] | '*'
|
||||
* 'prefix' => 'Prefix' | , (default = null)
|
||||
* 'plugin' => 'Plugin' | , (default = null)
|
||||
* 'controller' => 'Controller' | ['Controllers'] | '*',
|
||||
* 'action' => 'action' | ['actions'] | '*',
|
||||
* 'allowed' => true | false | callback (default = true)
|
||||
* ]
|
||||
* You could use '*' to match anything
|
||||
* 'allowed' will be considered true if not defined. It allows a callable to manage complex
|
||||
* permissions, like this
|
||||
* 'allowed' => function (array $user, $role, Request $request) {}
|
||||
*
|
||||
* Example, using allowed callable to define permissions only for the owner of the Posts to edit/delete
|
||||
*
|
||||
* (remember to add the 'uses' at the top of the permissions.php file for Hash, TableRegistry and Request
|
||||
[
|
||||
'role' => ['user'],
|
||||
'controller' => ['Posts'],
|
||||
'action' => ['edit', 'delete'],
|
||||
'allowed' => function(array $user, $role, Request $request) {
|
||||
$postId = Hash::get($request->params, 'pass.0');
|
||||
$post = TableRegistry::getTableLocator()->get('Posts')->get($postId);
|
||||
$userId = Hash::get($user, 'id');
|
||||
if (!empty($post->user_id) && !empty($userId)) {
|
||||
return $post->user_id === $userId;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
],
|
||||
*/
|
||||
|
||||
return [
|
||||
'CakeDC/Auth.permissions' => [
|
||||
//admin role allowed to all the things
|
||||
[
|
||||
'role' => 'admin',
|
||||
'prefix' => '*',
|
||||
'extension' => '*',
|
||||
'plugin' => '*',
|
||||
'controller' => '*',
|
||||
'action' => '*',
|
||||
],
|
||||
//specific actions allowed for the all roles in Users plugin
|
||||
[
|
||||
'role' => '*',
|
||||
'plugin' => 'CakeDC/Users',
|
||||
'controller' => 'Users',
|
||||
'action' => ['profile', 'logout', 'linkSocial', 'callbackLinkSocial'],
|
||||
],
|
||||
[
|
||||
'role' => '*',
|
||||
'plugin' => 'CakeDC/Users',
|
||||
'controller' => 'Users',
|
||||
'action' => 'resetGoogleAuthenticator',
|
||||
'allowed' => function (array $user, $role, \Cake\Http\ServerRequest $request) {
|
||||
$userId = \Cake\Utility\Hash::get($request->getAttribute('params'), 'pass.0');
|
||||
if (!empty($userId) && !empty($user)) {
|
||||
return $userId === $user['id'];
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
],
|
||||
//all roles allowed to Pages/display
|
||||
[
|
||||
'role' => ['user'],
|
||||
'controller' => 'Employments',
|
||||
'action' => ['index'],
|
||||
],
|
||||
/* [
|
||||
'role' => '*',
|
||||
'controller' => 'Imports',
|
||||
'action' => ['ftp','ftp_analyse','index','ftpAnalyse'],
|
||||
], */
|
||||
[
|
||||
'role' => '*',
|
||||
'controller' => 'Pages',
|
||||
'action' => 'display',
|
||||
],
|
||||
[
|
||||
'role' => 'asd',
|
||||
'controller' => 'Employments',
|
||||
'action' => 'analyse',
|
||||
],
|
||||
|
||||
/*[
|
||||
'role' => ['user'],
|
||||
'prefix' => 'admin',
|
||||
'controller' => ['Curls'],
|
||||
'action' => ['upStatistik', 'usStatistik'],
|
||||
/*'allowed' => function(array $user, $role, \Cake\Http\ServerRequest $request) {
|
||||
$userId = \Cake\Utility\Hash::get($request->getAttribute('params'), 'pass.0');
|
||||
if (!empty($userId) && !empty($user)) {
|
||||
return $userId === $user['id'];
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
], */
|
||||
]
|
||||
];
|
||||
@@ -49,7 +49,8 @@ Router::scope('/', function (RouteBuilder $routes) {
|
||||
* its action called 'display', and we pass a param to select the view file
|
||||
* to use (in this case, src/Template/Pages/home.ctp)...
|
||||
*/
|
||||
$routes->connect('/', ['controller' => 'curls', 'action' => 'usStatistik']);
|
||||
$routes->connect('/', ['controller' => 'Pages', 'action' => 'home']);
|
||||
//$routes->connect('/', ['controller' => 'curls', 'action' => 'usStatistik']);
|
||||
//$routes->connect('/', ['controller' => 'examinations', 'action' => 'index']);
|
||||
|
||||
/**
|
||||
|
||||
226
config/users.php
Normal file
226
config/users.php
Normal file
@@ -0,0 +1,226 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Copyright 2010 - 2017, Cake Development Corporation (https://www.cakedc.com)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright 2010 - 2017, Cake Development Corporation (https://www.cakedc.com)
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
use Cake\Core\Configure;
|
||||
use Cake\Routing\Router;
|
||||
|
||||
$config = [
|
||||
'Users' => [
|
||||
// Table used to manage users
|
||||
'table' => 'CakeDC/Users.Users',
|
||||
// Controller used to manage users plugin features & actions
|
||||
'controller' => 'CakeDC/Users.Users',
|
||||
// configure Auth component
|
||||
'auth' => true,
|
||||
// Password Hasher
|
||||
'passwordHasher' => '\Cake\Auth\DefaultPasswordHasher',
|
||||
// token expiration, 1 hour
|
||||
'Token' => ['expiration' => 3600],
|
||||
'Email' => [
|
||||
// determines if the user should include email
|
||||
'required' => false,
|
||||
// determines if registration workflow includes email validation
|
||||
'validate' => false,
|
||||
],
|
||||
'Registration' => [
|
||||
// determines if the register is enabled
|
||||
'active' => true,
|
||||
// determines if the reCaptcha is enabled for registration
|
||||
'reCaptcha' => true,
|
||||
// allow a logged in user to access the registration form
|
||||
'allowLoggedIn' => false,
|
||||
//ensure user is active (confirmed email) to reset his password
|
||||
'ensureActive' => false,
|
||||
// default role name used in registration
|
||||
'defaultRole' => 'user',
|
||||
],
|
||||
'reCaptcha' => [
|
||||
// reCaptcha key goes here
|
||||
'key' => null,
|
||||
// reCaptcha secret
|
||||
'secret' => null,
|
||||
// use reCaptcha in registration
|
||||
'registration' => false,
|
||||
// use reCaptcha in login, valid values are false, true
|
||||
'login' => false,
|
||||
],
|
||||
'Tos' => [
|
||||
// determines if the user should include tos accepted
|
||||
'required' => false,
|
||||
],
|
||||
'Social' => [
|
||||
// enable social login
|
||||
'login' => false,
|
||||
// enable social login
|
||||
'authenticator' => 'CakeDC/Users.Social',
|
||||
],
|
||||
'GoogleAuthenticator' => [
|
||||
// enable Google Authenticator
|
||||
'login' => false,
|
||||
'issuer' => null,
|
||||
// The number of digits the resulting codes will be
|
||||
'digits' => 6,
|
||||
// The number of seconds a code will be valid
|
||||
'period' => 30,
|
||||
// The algorithm used
|
||||
'algorithm' => 'sha1',
|
||||
// QR-code provider (more on this later)
|
||||
'qrcodeprovider' => null,
|
||||
// Random Number Generator provider (more on this later)
|
||||
'rngprovider' => null
|
||||
],
|
||||
'Profile' => [
|
||||
// Allow view other users profiles
|
||||
'viewOthers' => true,
|
||||
'route' => ['plugin' => 'CakeDC/Users', 'controller' => 'Users', 'action' => 'profile'],
|
||||
],
|
||||
'Key' => [
|
||||
'Session' => [
|
||||
// session key to store the social auth data
|
||||
'social' => 'Users.social',
|
||||
// userId key used in reset password workflow
|
||||
'resetPasswordUserId' => 'Users.resetPasswordUserId',
|
||||
],
|
||||
// form key to store the social auth data
|
||||
'Form' => [
|
||||
'social' => 'social'
|
||||
],
|
||||
'Data' => [
|
||||
// data key to store the users email
|
||||
'email' => 'email',
|
||||
// data key to store email coming from social networks
|
||||
'socialEmail' => 'info.email',
|
||||
// data key to check if the remember me option is enabled
|
||||
'rememberMe' => 'remember_me',
|
||||
],
|
||||
],
|
||||
// Avatar placeholder
|
||||
'Avatar' => ['placeholder' => 'CakeDC/Users.avatar_placeholder.png'],
|
||||
'RememberMe' => [
|
||||
// configure Remember Me component
|
||||
'active' => true,
|
||||
'checked' => true,
|
||||
'Cookie' => [
|
||||
'name' => 'remember_me',
|
||||
'Config' => [
|
||||
'expires' => '1 month',
|
||||
'httpOnly' => true,
|
||||
]
|
||||
]
|
||||
],
|
||||
],
|
||||
'GoogleAuthenticator' => [
|
||||
'checker' => \CakeDC\Users\Auth\DefaultTwoFactorAuthenticationChecker::class,
|
||||
'verifyAction' => [
|
||||
'plugin' => 'CakeDC/Users',
|
||||
'controller' => 'Users',
|
||||
'action' => 'verify',
|
||||
'prefix' => false,
|
||||
],
|
||||
],
|
||||
'U2f' => [
|
||||
'enabled' => false,
|
||||
'checker' => \CakeDC\Users\Auth\DefaultU2fAuthenticationChecker::class,
|
||||
'startAction' => [
|
||||
'plugin' => 'CakeDC/Users',
|
||||
'controller' => 'Users',
|
||||
'action' => 'u2f',
|
||||
'prefix' => false,
|
||||
]
|
||||
],
|
||||
// default configuration used to auto-load the Auth Component, override to change the way Auth works
|
||||
'Auth' => [
|
||||
'loginAction' => [
|
||||
'plugin' => 'CakeDC/Users',
|
||||
'controller' => 'Users',
|
||||
'action' => 'login',
|
||||
'prefix' => false
|
||||
],
|
||||
'authenticate' => [
|
||||
'all' => [
|
||||
'finder' => 'auth',
|
||||
],
|
||||
'CakeDC/Auth.ApiKey',
|
||||
'CakeDC/Auth.RememberMe',
|
||||
'Form',
|
||||
],
|
||||
'authorize' => [
|
||||
'CakeDC/Auth.Superuser',
|
||||
'CakeDC/Auth.SimpleRbac',
|
||||
],
|
||||
],
|
||||
'OAuth' => [
|
||||
'path' => ['plugin' => 'CakeDC/Users', 'controller' => 'Users', 'action' => 'socialLogin', 'prefix' => null],
|
||||
'providers' => [
|
||||
'facebook' => [
|
||||
'className' => 'League\OAuth2\Client\Provider\Facebook',
|
||||
'authParams' => ['scope' => ['public_profile', 'email', 'user_birthday', 'user_gender', 'user_link']],
|
||||
'options' => [
|
||||
'graphApiVersion' => 'v2.8', //bio field was deprecated on >= v2.8
|
||||
'redirectUri' => Router::fullBaseUrl() . '/auth/facebook',
|
||||
'linkSocialUri' => Router::fullBaseUrl() . '/link-social/facebook',
|
||||
'callbackLinkSocialUri' => Router::fullBaseUrl() . '/callback-link-social/facebook',
|
||||
]
|
||||
],
|
||||
'twitter' => [
|
||||
'options' => [
|
||||
'redirectUri' => Router::fullBaseUrl() . '/auth/twitter',
|
||||
'linkSocialUri' => Router::fullBaseUrl() . '/link-social/twitter',
|
||||
'callbackLinkSocialUri' => Router::fullBaseUrl() . '/callback-link-social/twitter',
|
||||
]
|
||||
],
|
||||
'linkedIn' => [
|
||||
'className' => 'League\OAuth2\Client\Provider\LinkedIn',
|
||||
'options' => [
|
||||
'redirectUri' => Router::fullBaseUrl() . '/auth/linkedIn',
|
||||
'linkSocialUri' => Router::fullBaseUrl() . '/link-social/linkedIn',
|
||||
'callbackLinkSocialUri' => Router::fullBaseUrl() . '/callback-link-social/linkedIn',
|
||||
]
|
||||
],
|
||||
'instagram' => [
|
||||
'className' => 'League\OAuth2\Client\Provider\Instagram',
|
||||
'options' => [
|
||||
'redirectUri' => Router::fullBaseUrl() . '/auth/instagram',
|
||||
'linkSocialUri' => Router::fullBaseUrl() . '/link-social/instagram',
|
||||
'callbackLinkSocialUri' => Router::fullBaseUrl() . '/callback-link-social/instagram',
|
||||
]
|
||||
],
|
||||
'google' => [
|
||||
'className' => 'League\OAuth2\Client\Provider\Google',
|
||||
'options' => [
|
||||
'userFields' => ['url', 'aboutMe'],
|
||||
'redirectUri' => Router::fullBaseUrl() . '/auth/google',
|
||||
'linkSocialUri' => Router::fullBaseUrl() . '/link-social/google',
|
||||
'callbackLinkSocialUri' => Router::fullBaseUrl() . '/callback-link-social/google',
|
||||
]
|
||||
],
|
||||
'amazon' => [
|
||||
'className' => 'Luchianenco\OAuth2\Client\Provider\Amazon',
|
||||
'options' => [
|
||||
'redirectUri' => Router::fullBaseUrl() . '/auth/amazon',
|
||||
'linkSocialUri' => Router::fullBaseUrl() . '/link-social/amazon',
|
||||
'callbackLinkSocialUri' => Router::fullBaseUrl() . '/callback-link-social/amazon',
|
||||
]
|
||||
],
|
||||
'cognito' => [
|
||||
'className' => 'CakeDC\OAuth2\Client\Provider\Cognito',
|
||||
'options' => [
|
||||
'redirectUri' => Router::fullBaseUrl() . '/auth/cognito',
|
||||
'linkSocialUri' => Router::fullBaseUrl() . '/link-social/cognito',
|
||||
'callbackLinkSocialUri' => Router::fullBaseUrl() . '/callback-link-social/cognito',
|
||||
'scope' => 'email openid'
|
||||
]
|
||||
],
|
||||
],
|
||||
]
|
||||
];
|
||||
|
||||
return $config;
|
||||
Reference in New Issue
Block a user