2
Я хочу перенаправить пользователя после входа на его личную страницу? , У меня есть 3 пользователей, например, дляКак перенаправить пользователя на свою личную страницу после авторизации с помощью apache shiro
- администратор имеет доступ ко всем страницам
- студент имеет доступ к страницам по каталогу студентов
- учителя имеют доступ к страницам по каталогу учителей
как сделать это?
Любая помощь или идея?
Update вот мой shiro.ini
[main]
ds = org.apache.shiro.jndi.JndiObjectFactory
ds.requiredType = javax.sql.DataSource
ds.resourceName = jdbc/myDataSource
ds.resourceRef = true
jdbcRealm = org.apache.shiro.realm.jdbc.JdbcRealm
# password hashing specification
sha256Matcher = org.apache.shiro.authc.credential.HashedCredentialsMatcher
sha256Matcher.hashAlgorithmName=SHA-256
jdbcRealm.credentialsMatcher = $sha256Matcher
jdbcRealm.permissionsLookupEnabled = true
jdbcRealm.authenticationQuery = SELECT password FROM users WHERE username = ?
jdbcRealm.userRolesQuery = SELECT role_name FROM user_roles WHERE username = ?
jdbcRealm.permissionsQuery = SELECT roleper FROM roles_permissions WHERE role_name = ?
jdbcRealm.dataSource = $ds
authc = com.java.MyFilter
jdbcRealm.authorizationCachingEnabled = false
# specify login page
authc.loginUrl = /login.jsp
# redirect after successful login
authc.successUrl = /home.jsp
# roles filter: redirect to error page if user does not have access rights
roles.unauthorizedUrl = /accessdenied.jsp
# request parameter with login error information; if not present filter assumes 'shiroLoginFailure'
authc.failureKeyAttribute = simpleShiroApplicationLoginFailure
[urls]
/login.jsp = authc
# only users with some roles are allowed to use role-specific pages
/admin/** = authc,roles[admin]
/stu/** = authc,roles[student]
/teach/** = authc,roles[teacher]
# enable authc filter for all application pages
/ApacheShiroDemo/** = authc
Вы используете сиро входа в фильтр или ваш логин custome? И что вы пробовали? Это в контексте веб-приложения? –
@ Sotirios Delimanolis, так как вы можете видеть authc.successUrl = /home.jsp, не может ли это быть authc.successUrl = /teach/teacherpage.jsp или /stu/studentpage.jsp в зависимости от того, кто зашел? жаль, что я использую фильтр по умолчанию в настоящее время .. –
Если у вас есть пользовательский логин, почему вы просто отправляете перенаправление на основе типа учетной записи? –