shiro配置新增注释

This commit is contained in:
lhc
2021-04-19 16:53:25 +08:00
parent 0cb51b2300
commit 64989c937a
4 changed files with 35 additions and 13 deletions

View File

@@ -47,20 +47,28 @@ public class ShiroConfig {
customRealm.setCachingEnabled(false);
return new CustomRealm();
}
/**
* @author lhc
* @description // 自定义subject工厂
* @date 4:50 下午 2021/4/19
* @params []
* @return org.apache.shiro.web.mgt.DefaultWebSubjectFactory
**/
@Bean
public DefaultWebSubjectFactory subjectFactory() {
return new StatelessDefaultSubjectFactory();
}
/**
* 自定义sessionManager
*
* @return
*/
* @author lhc
* @description // 自定义session管理器
* @date 4:52 下午 2021/4/19
* @params []
* @return org.apache.shiro.session.mgt.SessionManager
**/
@Bean
public SessionManager sessionManager() {
DefaultSessionManager shiroSessionManager = new DefaultSessionManager();
// 关闭session校验轮询
shiroSessionManager.setSessionValidationSchedulerEnabled(false);
return shiroSessionManager;
}
@@ -71,13 +79,17 @@ public class ShiroConfig {
@Bean("securityManager")
public SecurityManager securityManager() {
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
// 禁用session
DefaultSubjectDAO subjectDAO = new DefaultSubjectDAO();
DefaultSessionStorageEvaluator defaultSessionStorageEvaluator = new DefaultSessionStorageEvaluator();
defaultSessionStorageEvaluator.setSessionStorageEnabled(false);
subjectDAO.setSessionStorageEvaluator(defaultSessionStorageEvaluator);
securityManager.setSubjectDAO(subjectDAO);
// 设置自定义subject工厂
securityManager.setSubjectFactory(subjectFactory());
// 设置自定义session管理器
securityManager.setSessionManager(sessionManager());
// 设置自定义realm
securityManager.setRealm(myShiroRealm());
return securityManager;
}

View File

@@ -19,23 +19,23 @@ public class TestController {
BaseMapper baseMapper;
@GetMapping("/test")
public ResultVO<String> getUser(HttpServletRequest request) {
return ResultVO.getSuccess("token");
public ResultVO<Object> getUser(HttpServletRequest request) {
return ResultVO.getSuccess(SecurityUtils.getSubject().getPrincipal());
}
@GetMapping("/casProxy")
public ResultVO<Object> getCasProxy(HttpServletRequest request) throws IOException {
String serviceUrl = "http://192.168.1.130:8084/user/manage/ja";
// try {
try {
//1、获取到AttributePrincipal对象
AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
if (principal == null) {
return ResultVO.getFailed("用户未登录");
}
return ResultVO.getSuccess(principal);
// } catch (ClassCastException e) {
// return ResultVO.getSuccess(request.getUserPrincipal());
// }
} catch (ClassCastException e) {
return ResultVO.getSuccess(request.getUserPrincipal());
}
//2、获取对应的(PT)proxy ticket
// String proxyTicket = principal.getProxyTicketFor(serviceUrl);
@@ -82,6 +82,7 @@ public class TestController {
// conn.disconnect();
}
@GetMapping("/ivid")
public ResultVO<String> ivid(HttpServletRequest request) {
// HttpSession session = request.getSession();

View File

@@ -7,6 +7,7 @@ cas:
client-host-url: http://192.168.1.194:8081
validation-type: cas3
server-login-url: http://192.168.1.131:8080/cas/login
use-session: true
# 代理模式
# proxy-callback-url: http://192.168.1.130:8081/config/proxyCallback
# proxy-receptor-url: /config/proxyCallback

View File

@@ -16,7 +16,15 @@
timeToLiveSeconds = "120"
diskExpiryThreadIntervalSeconds = "120"
memoryStoreEvictionPolicy = "LRU"/>
<cache
name="users"
eternal="false"
maxElementsInMemory="100"
overflowToDisk="false"
diskPersistent="false"
timeToIdleSeconds="0"
timeToLiveSeconds="300"
memoryStoreEvictionPolicy="LRU" />
<!-- 此缓存最多可以存活timeToLiveSeconds秒如果期间超过timeToIdleSeconds秒未访问缓存失效 -->
<cache
name = "tableCache"