OMNI Access
v1.3.0
Free
~10 मिनट पढ़ें
Working with Roles
Create roles, assign them to users, check role membership, and manage default role fallbacks with the OMNI Access Role model.
01
चरण 1 / 4
Create Roles
use RbacSuite\OmniAccess\Models\Role;
// Create a new role
$role = Role::create([
'name' => 'Editor',
'slug' => 'editor',
'description' => 'Can edit content',
'is_default' => false
]);
// Using the manager
$role = app('omni-access')->createRole([
'name' => 'Moderator',
'slug' => 'moderator'
]);
use RbacSuite\OmniAccess\Models\Role;
// Create a new role
$role = Role::create([
'name' => 'Editor',
'slug' => 'editor',
'description' => 'Can edit content',
'is_default' => false
]);
// Using the manager
$role = app('omni-access')->createRole([
'name' => 'Moderator',
'slug' => 'moderator'
]);
02
चरण 2 / 4
Assign Roles to Users
// Single role
$user->assignRole('admin');
// Multiple roles
$user->assignRole('editor', 'moderator');
// Using role instance
$adminRole = Role::where('slug', 'admin')->first();
$user->assignRole($adminRole);
// Remove role
$user->removeRole('editor');
// Sync roles (replace all existing)
$user->syncRoles(['admin', 'editor']);
// Single role
$user->assignRole('admin');
// Multiple roles
$user->assignRole('editor', 'moderator');
// Using role instance
$adminRole = Role::where('slug', 'admin')->first();
$user->assignRole($adminRole);
// Remove role
$user->removeRole('editor');
// Sync roles (replace all existing)
$user->syncRoles(['admin', 'editor']);
03
चरण 3 / 4
Check User Roles
// Check single role
if ($user->hasRole('admin')) {
// User is admin
}
// Check any role
if ($user->hasAnyRole(['admin', 'editor'])) {
// User has at least one role
}
// Check all roles
if ($user->hasAllRoles(['admin', 'editor'])) {
// User has both roles
}
// Check super admin
if ($user->isSuperAdmin()) {
// User is super admin
}
// Get all user roles
$roles = $user->roles; // Collection of Role models
// Check single role
if ($user->hasRole('admin')) {
// User is admin
}
// Check any role
if ($user->hasAnyRole(['admin', 'editor'])) {
// User has at least one role
}
// Check all roles
if ($user->hasAllRoles(['admin', 'editor'])) {
// User has both roles
}
// Check super admin
if ($user->isSuperAdmin()) {
// User is super admin
}
// Get all user roles
$roles = $user->roles; // Collection of Role models
04
चरण 4 / 4
Role Permissions
// Assign permissions to role
$role->givePermissionTo('posts.edit', 'posts.delete');
// Remove permission from role
$role->revokePermissionTo('posts.delete');
// Sync permissions
$role->syncPermissions(['posts.view', 'posts.edit']);
// Check if role has permission
if ($role->hasPermission('posts.edit')) {
// Role has permission
}
// Assign permissions to role
$role->givePermissionTo('posts.edit', 'posts.delete');
// Remove permission from role
$role->revokePermissionTo('posts.delete');
// Sync permissions
$role->syncPermissions(['posts.view', 'posts.edit']);
// Check if role has permission
if ($role->hasPermission('posts.edit')) {
// Role has permission
}
कम्युनिटी चर्चाएँ 0
सवाल पूछें, चरणों के समाधान साझा करें या अन्य पेशेवरों के साथ सॉफ्टवेयर वर्कफ़्लो पर चर्चा करें।
नियंत्रित कम्युनिटी
कम्युनिटी चर्चा में शामिल हों
किसी चरण पर अटक गए हैं या इस कॉन्फ़िगरेशन के बारे में सवाल है? चर्चा में शामिल होने और इंस्ट्रक्टर्स व साथियों से सीधी सलाह पाने के लिए साइन इन करें।
गाइड चेकलिस्ट
4 चरण
ट्यूटोरियल प्रगति
0%
अभी कोई चर्चा नहीं
इस गाइड के बारे में कोई सवाल है या कोई उपयोगी टिप मिली है? ऊपर दिए कमेंट बॉक्स से बातचीत शुरू करें!