تفاوت ()hasRole و ()hasAuthority درون Spring security :
در #Spring_security , مبحث #authorization یعنی تعیین اینکه یک کاربر به چه منابعی ( مثل urlها ، سرویس ها و عملیات ها) دسترسی دارد. برای اینکار از Authorities استفاده می شود .
دو روش اصلی بررسی آنها:
- متود (String role)hasRole
- متود (String authority)hasAuthority
این متودها از نظر مفهوم پردازش و مفهوم پشت آنها باهم فرق دارن، درک مفهوم #Role و #Authority:
- مفهوم #Role (نقش): نقش ها معمولا دسته ای از دسترسی ها هستند، مثل Admin در Spring Security نقش ها با پسوند ROLE_ نگهداری میشوند یعنی نقش ADMIN به صورت ROLE_ADMIN نگهداری میشود.
- مفهوم #Authority(مجوز یا حق دسترسی): یک سطح دسترسی خاص به یک عملیات یا منابع مثل READ_PRIVILAGE یا ROLE_ADMIN که ممکن است شامل نقش یا سطوح ریزتری از دسترسی باشد.