Это расширение для @玛雅牛 JFinalShiroPlugin, предназначенное для работы с jfinal 3.0+. Оно поддерживает shiro-теги.
Версия 3.3 доступна по ссылке: https://gitee.com/log4j/jfinalshiroplugin/tree/1.3/
<dependency>
<groupId>com.github.jieblog</groupId>
<artifactId>jfinal-shiro</artifactId>
<version>1.0</version>
</dependency>
Если используется jf template, то создайте ShiroPlugin (engine), обратите внимание, что это уже не объект Routes.
public class LmsCoreConfig extends JFinalConfig {
private Engine engine;
/**
* Конфигурирование движка
*
* @param me Engine
*/
public void configEngine(Engine me) {
this.engine = me;
}
/**
* Настройка плагина
*
* @param me Plugins
*/
public void configPlugin(Plugins me) {
ShiroPlugin shiroPlugin = new ShiroPlugin(engine);
shiroPlugin.setLoginUrl("/login");
shiroPlugin.setUnauthorizedUrl("/unauthorized");
me.add(shiroPlugin);
}
/**
* Настроить перехватчик
*
* @param me Interceptors
*/
public void configInterceptor(Interceptors me) {
me.add(new ShiroInterceptor());
}
}
Получение информации о субъекте Principal
#principal()
Отображение соответствующей информации, если пользователь не прошёл аутентификацию, т. е. является гостем.
#guest()
body
#end
Пользователь уже прошёл аутентификацию/запомнил меня при входе, отображение соответствующей информации.
#shiroUser()
body
#end
Пользователь успешно прошёл аутентификацию через Subject.login, но не запомнил меня.
#authenticated()
body
#end
Пользователь прошёл аутентификацию без вызова Subject.login, включая запомнивший меня автоматический вход.
#noAuthenticated()
body
#end
Проверка наличия у текущего субъекта определённого разрешения
#hasPermission(permissionName)
body
#end
Проверка принадлежности текущего пользователя к определённой роли
#hasRole(roleName)
body
#end
Проверка принадлежности текущего пользователя ко всем указанным ролям
#hasAllRoles(roleName1,roleName2)
body
#end
Проверка принадлежности текущего пользователя хотя бы к одной из указанных ролей
#hasAnyRoles(roleName1,roleName2)
body
#end
Проверка наличия всех указанных разрешений у текущего субъекта
#hasAllPermission(permissionName1,permissionName2)
body
#end
Отсутствие у текущего субъекта указанного разрешения
#lacksPermission(permissionName)
body
#end
Отсутствие роли у текущего субъекта
#lacksRole(roleName)
body
#end
Если в общем файле шаблона есть использование shiro-тегов, добавьте их после afterJFinalStart, а не в configEngine.
/**
* Запуск после обратного вызова
*/
public void afterJFinalStart() {
engine.addSharedFunction("xxxx.html");
}
Пример можно найти здесь: http://git.oschina.net/log4j/LMS
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )