1 (دەستکاری کراوە: ڕێنوار 2018-09-26 15:50:58)

بابه‌ت: Laravel - Multiple Authentication کام ڕێگایە باشترە؟

سڵاو،
لە لاراڤێڵ ڕێگا زۆرە بۆ جێبەجێ کردنی هەر کردارێک، لەم بابەتە دەمەوێت ئەوەم بۆ ڕوون ببێتەوە، بۆ درووستکردنی Multiple Authentication کام ڕێگایە باشترێکە وەک ئەزموونتان؟

ئەوەی دەمەوێت درووستکردنی ٥ ئاست/ڕۆڵ بەکارهێنەرە کە بە پێی ناوی بەکارهێنەر جیابکرێنەوە، واتە: یەک پەڕگەی چوونەژوورەوە، ٥ ڕۆلی بەکارهێنەر و ناوەکانیان بەم شیوەیەبیت، بۆ نموونە: (manager, supervisor, accounting, checking, editor)

من بەم دوو ڕێگایە ئاشنابووم:

ڕێگای یەکەم:

درووستکردنی Guard بۆ هەر ڕۆڵێک و کاتێک بەکارهێنەر دەچێتە ژوورەوە ئەوا redirectی فۆڵدەری خۆی ئەکات و لە کلاسەکانی controllerیش بەم شێوەیە پێناسە دەکرێن بۆ هەر ڕۆڵێک:

public function __construct() {
$this->middleware('manager');
}
public function __construct() {
$this->middleware('supervisor');
}

...
باشیەکانی ئەمە:
- کۆدەکان ڕێکوپیکتر دیارن
- هەست بە securityیەک دەکەیت

خراپیەکانی:
- دەبێت بۆ هەر ڕۆڵێک guardێک درووست بکەیت (هەرچەن ئەمە دووبارە کۆدەکان زۆر ڕێکتر دەرئەکەون)

ڕێگای دووەم:

هەر یەک Guardت هەیە، بەڵام دوای چوونەژوورەوە لە Route ئاماژەی پێ دەدەیت کە ئەگەر auth()->user()->role == manager ئەوا بیباتە فۆڵدەری بەڕێوەبەر یان auth()->user()->role == supervisor ئەوا بۆ فۆڵدەری سەرپەرشتیار، و لە کلاسەکانی Controller تەنها دەنووسیت

public function __construct() {
$this->middleware('auth');
}

بەڵام لە methodەکانی تردا بەپیی هەر ڕۆلێک method خۆت درووستکدەکەیت.

یاخود، بۆ هەر ڕۆڵیک کلاسی خۆی دەبێت، بەڵام هەر $this->middleware('auth');ت دەبیت

باشییەکانی:
- تەنها $this->middleware('auth'); ت دەبێت و لە Routeدا ئاماژەت داوە کە بەکارهێنەر چ ڕۆڵێکی هەیە

خراپیەکانی:
- هەست بە secuirtyیەکی وا ناکەیت وەک ڕێگای یەکەم (لایەنی معنوی big_smile )
- کۆدەکان تا ڕادەیەک ئاڵۆز دەبن!؟

سوپاس بۆ بەشداریکردنتان و بۆچونتان

ئاسۆ نادری، ڕۆحت هەر لەگەڵمانە.

2

وه‌ڵام: Laravel - Multiple Authentication کام ڕێگایە باشترە؟

+
ڕێگای یەکەم:
خراپییەکانی:
- بۆ هەر بەکارهێنەرێک دەبێت modelێک درووست بکەیت (چونکە Guardت درووستکردووە)، واتە بۆ هەربەکارهێنەرێک tableێک درووست دەکەیت!؟

ئاسۆ نادری، ڕۆحت هەر لەگەڵمانە.