Class MemoryTypedAuthzCombo
-
- All Implemented Interfaces:
-
org.springframework.core.Ordered,pro.fessional.wings.warlock.service.auth.impl.ComboWarlockAuthzService.Combo
public class MemoryTypedAuthzCombo implements ComboWarlockAuthzService.Combo
Add/remove auth by username and authType. Role and Perm are not distinguished, and the Role need a fixed prefix.
- Since:
2021-03-05
trydofor
-
-
Field Summary
Fields Modifier and Type Field Description public final static intORDERpublic intorderpublic final Map<Long, Set<String>>userAuthzpublic final Map<String, Set<String>>namedAuthzpublic final Map<String, Map<Enum<out Object>, Set<String>>>typedAuthzpublic final static intHIGHEST_PRECEDENCEpublic final static intLOWEST_PRECEDENCE
-
Constructor Summary
Constructors Constructor Description MemoryTypedAuthzCombo()
-
Method Summary
Modifier and Type Method Description intgetOrder()voidsetOrder(int order)Map<Long, Set<String>>getUserAuthz()Map<String, Set<String>>getNamedAuthz()Map<String, Map<Enum<out Object>, Set<String>>>getTypedAuthz()voidaddAuthz(long userId, @NotNull() Array<String> authz)Add Perm/Role to userId voidaddAuthz(long userId, @NotNull() Collection<String> authz)Add Perm/Role to userId voidaddAuthz(@NotNull() String username, @NotNull() Array<String> authz)Add Perm/Role to user by username voidaddAuthz(@NotNull() String username, @NotNull() Collection<String> authz)Add Perm/Role to user by username voidaddAuthz(@NotNull() String username, Enum<out Object> authType, @NotNull() Array<String> authz)Add Perm/Role to user by username and authType voidaddAuthz(@NotNull() String username, Enum<out Object> authType, @NotNull() Collection<String> authz)Add Perm/Role to user by username and authType voiddelAuthz(long userId)delete all Perm/Role of userId voiddelAuthz(long userId, @NotNull() Collection<String> authz)delete given Perm/Role of userId voiddelAuthz(@NotNull() String username)delete all Perm/Role of user by login username voiddelAuthz(@NotNull() String username, @NotNull() Collection<String> authz)delete given Perm/Role of user by login username voiddelAuthz(@NotNull() String username, Enum<out Object> authType)delete all Perm/Role of user by login username and authType voiddelAuthz(@NotNull() String username, Enum<out Object> authType, @NotNull() Collection<String> authz)delete given Perm/Role of user by login username and authType booleanpreAuth(@NotNull() DefaultWingsUserDetails details, @NotNull() HashSet<Object> role, @NotNull() HashSet<Object> perm)Prepare data for unified processing of roles and perm, e.g. WarlockPermNormalizergetPermNormalizer()voidsetPermNormalizer(WarlockPermNormalizer permNormalizer)-
Methods inherited from class pro.fessional.wings.warlock.service.auth.impl.ComboWarlockAuthzService.Combo
postAuth -
Methods inherited from class org.springframework.core.Ordered
getOrder -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
getOrder
int getOrder()
-
setOrder
void setOrder(int order)
-
getUserAuthz
Map<Long, Set<String>> getUserAuthz()
-
getNamedAuthz
Map<String, Set<String>> getNamedAuthz()
-
addAuthz
void addAuthz(long userId, @NotNull() Array<String> authz)
Add Perm/Role to userId
- Parameters:
userId- user idauthz- Perm/Role
-
addAuthz
void addAuthz(long userId, @NotNull() Collection<String> authz)
Add Perm/Role to userId
- Parameters:
userId- user idauthz- Perm/Role
-
addAuthz
void addAuthz(@NotNull() String username, @NotNull() Array<String> authz)
Add Perm/Role to user by username
- Parameters:
username- login usernameauthz- Perm/Role
-
addAuthz
void addAuthz(@NotNull() String username, @NotNull() Collection<String> authz)
Add Perm/Role to user by username
- Parameters:
username- login usernameauthz- Perm/Role
-
addAuthz
void addAuthz(@NotNull() String username, Enum<out Object> authType, @NotNull() Array<String> authz)
Add Perm/Role to user by username and authType
- Parameters:
username- login usernameauthType- only username if nullauthz- Perm/Role
-
addAuthz
void addAuthz(@NotNull() String username, Enum<out Object> authType, @NotNull() Collection<String> authz)
Add Perm/Role to user by username and authType
- Parameters:
username- login usernameauthType- only username if nullauthz- Perm/Role
-
delAuthz
void delAuthz(long userId)
delete all Perm/Role of userId
-
delAuthz
void delAuthz(long userId, @NotNull() Collection<String> authz)
delete given Perm/Role of userId
- Parameters:
userId- useridauthz- given Perm/Role
-
delAuthz
void delAuthz(@NotNull() String username, @NotNull() Collection<String> authz)
delete given Perm/Role of user by login username
- Parameters:
username- login usernameauthz- given Perm/Role
-
delAuthz
void delAuthz(@NotNull() String username, Enum<out Object> authType)
delete all Perm/Role of user by login username and authType
- Parameters:
username- login usernameauthType- only username if null
-
delAuthz
void delAuthz(@NotNull() String username, Enum<out Object> authType, @NotNull() Collection<String> authz)
delete given Perm/Role of user by login username and authType
- Parameters:
username- login usernameauthType- only username if nullauthz- given Perm/Role
-
preAuth
boolean preAuth(@NotNull() DefaultWingsUserDetails details, @NotNull() HashSet<Object> role, @NotNull() HashSet<Object> perm)
Prepare data for unified processing of roles and perm, e.g. modify role and perm. Return `true` for solo processing, stopping any subsequent Combo (sort by Order), such as directly specify the permissions, no subsequent additions,
- Parameters:
details- details with/without GrantedAuthorityrole- id(Long), name(String) or Auth(GrantedAuthority)perm- id(Long), name(String) or Auth(GrantedAuthority)- Returns:
Whether to stop any subsequent Combo, default false.
-
getPermNormalizer
WarlockPermNormalizer getPermNormalizer()
-
setPermNormalizer
@Autowired() void setPermNormalizer(WarlockPermNormalizer permNormalizer)
-
-
-
-