Is It Possible to Apply Laravel Policy to Both Routes and Custom Function?2019 Community Moderator ElectionHow to get the filters on a route in laravelBest Practices for Custom Helpers in Laravel 5Laravel POST call returns index() function instead of store()Authorization Policies/Gates for Laravel 5.3 web app consuming own API w/ PassportUsing a custom middleware redirects me to /home, even if middleware is empty in LaravelHow to add a custom User Provider in Laravel 5.4How to call custom helper function in filesystemsLaravel app routes incorrectly for mod_rewrite redirected requestsLaravel - Getting user details for method used in both web and api routesLaravel request helper in URL to get ID / Resource ID
Are there other characters in the Star Wars universe who had damaged bodies and needed to wear an outfit like Darth Vader?
If nine coins are tossed, what is the probability that the number of heads is even?
Iron deposits mined from under the city
Python 3.6+ function to ask for a multiple-choice answer
PTiJ: How should animals pray?
Was it really inappropriate to write a pull request for the company I interviewed with?
What does it mean when I add a new variable to my linear model and the R^2 stays the same?
Paper published similar to PhD thesis
Using the imperfect indicative vs. subjunctive with si
Does the US political system, in principle, allow for a no-party system?
Can you run a ground wire from stove directly to ground pole in the ground
Can a space-faring robot still function over a billion years?
The need of reserving one's ability in job interviews
Why do we call complex numbers “numbers” but we don’t consider 2 vectors numbers?
How spaceships determine each other's mass in space?
PTIJ: Aliyot for the deceased
When to use the term transposed instead of modulation?
Integrating function with /; in its definition
Replacing tantalum capacitor with ceramic capacitor for Op Amps
Why do phishing e-mails use faked e-mail addresses instead of the real one?
Why won't the strings command stop?
The Key to the Door
Why is there an extra space when I type "ls" on the Desktop?
I've given my players a lot of magic items. Is it reasonable for me to give them harder encounters?
Is It Possible to Apply Laravel Policy to Both Routes and Custom Function?
2019 Community Moderator ElectionHow to get the filters on a route in laravelBest Practices for Custom Helpers in Laravel 5Laravel POST call returns index() function instead of store()Authorization Policies/Gates for Laravel 5.3 web app consuming own API w/ PassportUsing a custom middleware redirects me to /home, even if middleware is empty in LaravelHow to add a custom User Provider in Laravel 5.4How to call custom helper function in filesystemsLaravel app routes incorrectly for mod_rewrite redirected requestsLaravel - Getting user details for method used in both web and api routesLaravel request helper in URL to get ID / Resource ID
I have Location Policy and one api and one custom helper for both i want to use same policy,
Here is example :
1. Routes/API to read location record :
Route::group(['middleware' => 'policy:view,location'], function ()
// Read location
Route::post('/locations/location_id', [
'uses' => 'LocationApiController@read'
]);
);
2. Custom Function/Helper to read location record
LocationHelper.php
/**
* Class LocationHelper.
*/
class LocationHelper
/** @var LocationRepositoryInterface */
private $locationRepo;
/**
* ReminderHelper constructor.
*/
public function __construct()
$this->locationRepo = App::make(LocationRepositoryInterface::class);
/**
* @param int $locationId
*/
public function readLocation($locationId)
$this->locationRepo->read($locationId);
Problem is :
While calling location read route/api policy will apply, and while calling read funtion from LocationHelper.php
it will not apply
What i want is apply same policy for both.
Is there any way to do this ??
laravel policy
New contributor
add a comment |
I have Location Policy and one api and one custom helper for both i want to use same policy,
Here is example :
1. Routes/API to read location record :
Route::group(['middleware' => 'policy:view,location'], function ()
// Read location
Route::post('/locations/location_id', [
'uses' => 'LocationApiController@read'
]);
);
2. Custom Function/Helper to read location record
LocationHelper.php
/**
* Class LocationHelper.
*/
class LocationHelper
/** @var LocationRepositoryInterface */
private $locationRepo;
/**
* ReminderHelper constructor.
*/
public function __construct()
$this->locationRepo = App::make(LocationRepositoryInterface::class);
/**
* @param int $locationId
*/
public function readLocation($locationId)
$this->locationRepo->read($locationId);
Problem is :
While calling location read route/api policy will apply, and while calling read funtion from LocationHelper.php
it will not apply
What i want is apply same policy for both.
Is there any way to do this ??
laravel policy
New contributor
add a comment |
I have Location Policy and one api and one custom helper for both i want to use same policy,
Here is example :
1. Routes/API to read location record :
Route::group(['middleware' => 'policy:view,location'], function ()
// Read location
Route::post('/locations/location_id', [
'uses' => 'LocationApiController@read'
]);
);
2. Custom Function/Helper to read location record
LocationHelper.php
/**
* Class LocationHelper.
*/
class LocationHelper
/** @var LocationRepositoryInterface */
private $locationRepo;
/**
* ReminderHelper constructor.
*/
public function __construct()
$this->locationRepo = App::make(LocationRepositoryInterface::class);
/**
* @param int $locationId
*/
public function readLocation($locationId)
$this->locationRepo->read($locationId);
Problem is :
While calling location read route/api policy will apply, and while calling read funtion from LocationHelper.php
it will not apply
What i want is apply same policy for both.
Is there any way to do this ??
laravel policy
New contributor
I have Location Policy and one api and one custom helper for both i want to use same policy,
Here is example :
1. Routes/API to read location record :
Route::group(['middleware' => 'policy:view,location'], function ()
// Read location
Route::post('/locations/location_id', [
'uses' => 'LocationApiController@read'
]);
);
2. Custom Function/Helper to read location record
LocationHelper.php
/**
* Class LocationHelper.
*/
class LocationHelper
/** @var LocationRepositoryInterface */
private $locationRepo;
/**
* ReminderHelper constructor.
*/
public function __construct()
$this->locationRepo = App::make(LocationRepositoryInterface::class);
/**
* @param int $locationId
*/
public function readLocation($locationId)
$this->locationRepo->read($locationId);
Problem is :
While calling location read route/api policy will apply, and while calling read funtion from LocationHelper.php
it will not apply
What i want is apply same policy for both.
Is there any way to do this ??
laravel policy
laravel policy
New contributor
New contributor
New contributor
asked yesterday
Vishal RibdiyaVishal Ribdiya
555
555
New contributor
New contributor
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You can call the policy manually, after retrieving the user. For example:
$allowed = Auth::user()->can('view', Location::firstOrFail($locationId));
Return a 403 if when the user is not allowed to view the resource, like this:
abort_unless($allowed, 403);
Thanks for your time, But Any other unified solution ?
– Vishal Ribdiya
yesterday
You could create some abstraction of your own and try to add this check in the LocationRepository, e.g. let it implement a custom PolicyInterface, but I really don't think it will make things much easier. Laravel does not offer authorization checks for custom helper methods out of the box.
– piscator
yesterday
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Vishal Ribdiya is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55022982%2fis-it-possible-to-apply-laravel-policy-to-both-routes-and-custom-function%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can call the policy manually, after retrieving the user. For example:
$allowed = Auth::user()->can('view', Location::firstOrFail($locationId));
Return a 403 if when the user is not allowed to view the resource, like this:
abort_unless($allowed, 403);
Thanks for your time, But Any other unified solution ?
– Vishal Ribdiya
yesterday
You could create some abstraction of your own and try to add this check in the LocationRepository, e.g. let it implement a custom PolicyInterface, but I really don't think it will make things much easier. Laravel does not offer authorization checks for custom helper methods out of the box.
– piscator
yesterday
add a comment |
You can call the policy manually, after retrieving the user. For example:
$allowed = Auth::user()->can('view', Location::firstOrFail($locationId));
Return a 403 if when the user is not allowed to view the resource, like this:
abort_unless($allowed, 403);
Thanks for your time, But Any other unified solution ?
– Vishal Ribdiya
yesterday
You could create some abstraction of your own and try to add this check in the LocationRepository, e.g. let it implement a custom PolicyInterface, but I really don't think it will make things much easier. Laravel does not offer authorization checks for custom helper methods out of the box.
– piscator
yesterday
add a comment |
You can call the policy manually, after retrieving the user. For example:
$allowed = Auth::user()->can('view', Location::firstOrFail($locationId));
Return a 403 if when the user is not allowed to view the resource, like this:
abort_unless($allowed, 403);
You can call the policy manually, after retrieving the user. For example:
$allowed = Auth::user()->can('view', Location::firstOrFail($locationId));
Return a 403 if when the user is not allowed to view the resource, like this:
abort_unless($allowed, 403);
edited yesterday
answered yesterday
piscatorpiscator
2,96421023
2,96421023
Thanks for your time, But Any other unified solution ?
– Vishal Ribdiya
yesterday
You could create some abstraction of your own and try to add this check in the LocationRepository, e.g. let it implement a custom PolicyInterface, but I really don't think it will make things much easier. Laravel does not offer authorization checks for custom helper methods out of the box.
– piscator
yesterday
add a comment |
Thanks for your time, But Any other unified solution ?
– Vishal Ribdiya
yesterday
You could create some abstraction of your own and try to add this check in the LocationRepository, e.g. let it implement a custom PolicyInterface, but I really don't think it will make things much easier. Laravel does not offer authorization checks for custom helper methods out of the box.
– piscator
yesterday
Thanks for your time, But Any other unified solution ?
– Vishal Ribdiya
yesterday
Thanks for your time, But Any other unified solution ?
– Vishal Ribdiya
yesterday
You could create some abstraction of your own and try to add this check in the LocationRepository, e.g. let it implement a custom PolicyInterface, but I really don't think it will make things much easier. Laravel does not offer authorization checks for custom helper methods out of the box.
– piscator
yesterday
You could create some abstraction of your own and try to add this check in the LocationRepository, e.g. let it implement a custom PolicyInterface, but I really don't think it will make things much easier. Laravel does not offer authorization checks for custom helper methods out of the box.
– piscator
yesterday
add a comment |
Vishal Ribdiya is a new contributor. Be nice, and check out our Code of Conduct.
Vishal Ribdiya is a new contributor. Be nice, and check out our Code of Conduct.
Vishal Ribdiya is a new contributor. Be nice, and check out our Code of Conduct.
Vishal Ribdiya is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55022982%2fis-it-possible-to-apply-laravel-policy-to-both-routes-and-custom-function%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown