Package io.inversion.jdbc
Class JdbcDbUserDao
java.lang.Object
io.inversion.action.security.AuthAction.JwtUserDao
io.inversion.jdbc.JdbcDbUserDao
- All Implemented Interfaces:
io.inversion.action.security.AuthAction.UserDao
public class JdbcDbUserDao
extends io.inversion.action.security.AuthAction.JwtUserDao
Looks up a
User from the configured JdbcDb supporting user/group/role permissioning.
Usage requires a password encryption "salt" value be configured either explicitly or via a $name.salt environment var or system prop.
In this model, Users, Groups, and Roles can all be assigned Permissions. Users can Groups can both be assigned Roles and Users can be assigned to Groups. This means users can be assigned permissions through any one of the following relationship paths.
- user-to-permission
- user-to-group-to-permission
- user-to-role-to-permission
- user-to-group-to-role-to-permission
-
Nested Class Summary
Nested classes/interfaces inherited from class io.inversion.action.security.AuthAction.JwtUserDao
io.inversion.action.security.AuthAction.JwtUserDao.RevokedTokenCache -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancheckPassword(String actual, String supplied)protected io.inversion.utils.RowsfindGRP(Connection conn, int userId, String api, String tenant)getDb()getName()getSalt()io.inversion.UsergetUser(io.inversion.action.security.AuthAction action, String username, String suppliedPassword, String apiName, String tenant)voidvoidstatic StringstrongHash(Object salt, String password)static StringMethods inherited from class io.inversion.action.security.AuthAction.JwtUserDao
addPermsToUser, createUserFromValidJwt, getJwtSecrets, getRevokedTokenCache, getUser, signJwt, withRevokedTokenCacheMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.inversion.action.security.AuthAction.UserDao
getGuest
-
Field Details
-
name
Optional name param that is used for $name.salt parameter configuration. -
db
-
salt
-
-
Constructor Details
-
JdbcDbUserDao
public JdbcDbUserDao() -
JdbcDbUserDao
-
-
Method Details
-
strongHash
- Throws:
io.inversion.ApiException
-
weakHash
-
checkPassword
-
getUser
public io.inversion.User getUser(io.inversion.action.security.AuthAction action, String username, String suppliedPassword, String apiName, String tenant) throws io.inversion.ApiException- Specified by:
getUserin interfaceio.inversion.action.security.AuthAction.UserDao- Overrides:
getUserin classio.inversion.action.security.AuthAction.JwtUserDao- Throws:
io.inversion.ApiException
-
findGRP
protected io.inversion.utils.Rows findGRP(Connection conn, int userId, String api, String tenant) throws Exception- Throws:
Exception
-
withDb
-
getDb
-
setDb
-
withSalt
-
getSalt
-
getName
-
setName
-