💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
除了主体之外,`Authentication`提供的另一个重要方法是`getAuthorities()`。 此方法提供`GrantedAuthority`对象的数组。 毫不奇怪,`GrantedAuthority`是授予主体的权限。 这些权限通常是“角色”,例如`ROLE_ADMINISTRATOR`或`ROLE_HR_SUPERVISOR`。 稍后将为这些角色配置Web授权,方法授权和域对象授权。 Spring Security的其他部分能够解释这些权限,并期望它们存在。 `GrantedAuthority`对象通常由`UserDetailsService`加载。 通常,`GrantedAuthority`对象是应用程序范围的权限。 它们不是特定于给定的域对象。 因此,您可能不会有`GrantedAuthority`来表示对`Employee`对象编号54的权限,因为如果有数千个这样的权限,您将很快耗尽内存(或者,至少导致应用程序需要很长时间 验证用户的时间)。 当然,Spring Security专门设计用于处理这个常见需求,但您可以使用项目的域对象安全功能来实现此目的。