OMNI Access
v1.3.0
Free
~10 मिनट पढ़ें
Working with Permissions
Define permissions, attach them to roles and users, check direct and inherited permissions, and revoke access cleanly.
01
चरण 1 / 4
Create Permissions
use RbacSuite\OmniAccess\Models\Permission;
use RbacSuite\OmniAccess\Models\Group;
// Create permission group
$group = Group::create([
'name' => 'Post Management',
'slug' => 'post-management',
'description' => 'Permissions for managing posts',
'sort_order' => 1
]);
// Create permission
$permission = Permission::create([
'name' => 'Edit Posts',
'slug' => 'posts.edit',
'description' => 'Can edit posts',
'group_id' => $group->id
]);
use RbacSuite\OmniAccess\Models\Permission;
use RbacSuite\OmniAccess\Models\Group;
// Create permission group
$group = Group::create([
'name' => 'Post Management',
'slug' => 'post-management',
'description' => 'Permissions for managing posts',
'sort_order' => 1
]);
// Create permission
$permission = Permission::create([
'name' => 'Edit Posts',
'slug' => 'posts.edit',
'description' => 'Can edit posts',
'group_id' => $group->id
]);
02
चरण 2 / 4
Direct User Permissions
// Give direct permission to user
$user->givePermissionTo('special.access');
// Revoke direct permission
$user->revokePermissionTo('special.access');
// Check permission (includes role permissions)
if ($user->hasPermission('posts.edit')) {
// User can edit posts
}
// Check multiple permissions
if ($user->hasAnyPermission(['posts.edit', 'posts.delete'])) {
// Has at least one permission
}
if ($user->hasAllPermissions(['posts.edit', 'posts.publish'])) {
// Has all permissions
}
// Give direct permission to user
$user->givePermissionTo('special.access');
// Revoke direct permission
$user->revokePermissionTo('special.access');
// Check permission (includes role permissions)
if ($user->hasPermission('posts.edit')) {
// User can edit posts
}
// Check multiple permissions
if ($user->hasAnyPermission(['posts.edit', 'posts.delete'])) {
// Has at least one permission
}
if ($user->hasAllPermissions(['posts.edit', 'posts.publish'])) {
// Has all permissions
}
03
चरण 3 / 4
Permission Groups
// Get all groups with permissions
$groups = Group::with('permissions')->orderBy('sort_order')->get();
// Get permissions by group
$group = Group::where('slug', 'post-management')->first();
$permissions = $group->permissions; // All permissions in this group
// Get user permissions grouped
$grouped = $user->getGroupedPermissions();
// Returns: ['Post Management' => [...permissions], 'User Management' => [...]]
// Get all groups with permissions
$groups = Group::with('permissions')->orderBy('sort_order')->get();
// Get permissions by group
$group = Group::where('slug', 'post-management')->first();
$permissions = $group->permissions; // All permissions in this group
// Get user permissions grouped
$grouped = $user->getGroupedPermissions();
// Returns: ['Post Management' => [...permissions], 'User Management' => [...]]
04
चरण 4 / 4
Permission Helpers
// Get all user permissions (direct + from roles)
$permissions = $user->getAllPermissions();
// Check model-based permission
if ($user->canOnModel('edit', Post::class)) {
// User can edit posts
}
// Cache operations
$user->refreshPermissionsCache(); // Refresh cached permissions
// Get all user permissions (direct + from roles)
$permissions = $user->getAllPermissions();
// Check model-based permission
if ($user->canOnModel('edit', Post::class)) {
// User can edit posts
}
// Cache operations
$user->refreshPermissionsCache(); // Refresh cached permissions
कम्युनिटी चर्चाएँ 0
सवाल पूछें, चरणों के समाधान साझा करें या अन्य पेशेवरों के साथ सॉफ्टवेयर वर्कफ़्लो पर चर्चा करें।
नियंत्रित कम्युनिटी
कम्युनिटी चर्चा में शामिल हों
किसी चरण पर अटक गए हैं या इस कॉन्फ़िगरेशन के बारे में सवाल है? चर्चा में शामिल होने और इंस्ट्रक्टर्स व साथियों से सीधी सलाह पाने के लिए साइन इन करें।
गाइड चेकलिस्ट
4 चरण
ट्यूटोरियल प्रगति
0%
अभी कोई चर्चा नहीं
इस गाइड के बारे में कोई सवाल है या कोई उपयोगी टिप मिली है? ऊपर दिए कमेंट बॉक्स से बातचीत शुरू करें!