提交 1930ad30 编写于 作者: N Nicky.Ma

feat:新增无权访问403页面

fix:单点登录没跳转到CAS服务器问题
上级 15c070cb
......@@ -56,7 +56,7 @@ public class ShiroConfig {
bean.setEnabled(true);
return bean;
}
/**
* CAS过滤器
......@@ -68,6 +68,7 @@ public class ShiroConfig {
casFilter.setName("casFilter");
casFilter.setEnabled(true);
casFilter.setFailureUrl(CAS_CLIENT_LOGIN_URL);
casFilter.setSuccessUrl(LOGIN_SUCCESS_URL);
return casFilter;
}
......@@ -106,7 +107,7 @@ public class ShiroConfig {
shiroFilterFactoryBean.setLoginUrl(CAS_CLIENT_LOGIN_URL);
shiroFilterFactoryBean.setSuccessUrl(LOGIN_SUCCESS_URL);
shiroFilterFactoryBean.setUnauthorizedUrl(CAS_CLIENT_LOGIN_URL);
shiroFilterFactoryBean.setUnauthorizedUrl(LOGIN_UNAUTHORIZED_URL);
//添加CasFilter到ShiroFilter
Map<String,Filter> filters = new HashMap<String,Filter>();
......@@ -122,9 +123,9 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/upload/**", "anon");
filterChainDefinitionMap.put("/plugins/**", "anon");
filterChainDefinitionMap.put("/code", "anon");
filterChainDefinitionMap.put("/login", "anon");
filterChainDefinitionMap.put("/logincheck", "anon");
filterChainDefinitionMap.put("/logout","anon");
//filterChainDefinitionMap.put("/login", "anon");
//filterChainDefinitionMap.put("/logincheck", "anon");
//filterChainDefinitionMap.put("/logout","anon");
filterChainDefinitionMap.put("/**", "authc");
shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
......
......@@ -14,21 +14,23 @@ package org.muses.jeeplatform.core;
public class CASConsts {
/* CAS单点登录配置 */
//客户端URL PREFIX
public static final String CLIENT_URL_PREFIX = "http://localhost:8081/jeeplatform";
//客户端登录地址
public static final String CLIENT_LOGIN_URL = CLIENT_URL_PREFIX +"/login";
//客户端登出地址
public static final String CLIENT_LOGOUT_URL = CLIENT_URL_PREFIX + "/logout";
//CAS服务端URL PREFIX
public static final String CAS_SERVER_URL_PREFIX = "http://localhost:8080";
//Cas过滤器UrlPattern
public static final String CAS_FILTER_URL_PATTERN = "/cas";
//CAS客户端单点登录
public static final String CAS_CLIENT_LOGIN_URL = CLIENT_LOGIN_URL + "?service="+CAS_SERVER_URL_PREFIX+CAS_FILTER_URL_PATTERN;
//Cas server地址
public static final String CAS_SERVER_URL_PREFIX = "http://localhost:8080/cas";
//Cas单点登录地址
public static final String CAS_LOGIN_URL = CAS_SERVER_URL_PREFIX +"/login";
//CAS单点登出地址
public static final String CAS_LOGOUT_URL = CAS_SERVER_URL_PREFIX + "/logout";
//对外提供的服务地址
public static final String SERVER_URL_PREFIX = "http://localhost:8081";
//Cas过滤器的urlPattern
public static final String CAS_FILTER_URL_PATTERN = "/jeeplatform";
//CAS客户端单点登录跳转地址
public static final String CAS_CLIENT_LOGIN_URL = CAS_LOGIN_URL + "?service="+SERVER_URL_PREFIX+CAS_FILTER_URL_PATTERN;
//CAS客户端单点登出
public static final String CAS_CLIENT_LOGOUT_URL = CLIENT_LOGOUT_URL + "?service="+CAS_SERVER_URL_PREFIX+CAS_FILTER_URL_PATTERN;
public static final String CAS_CLIENT_LOGOUT_URL = CAS_LOGOUT_URL + "?service="+SERVER_URL_PREFIX+CAS_FILTER_URL_PATTERN;
//登录成功地址
public static final String LOGIN_SUCCESS_URL = "/index";
//无权访问页面403
public static final String LOGIN_UNAUTHORIZED_URL = "/403";
}
......@@ -228,5 +228,11 @@ public class LoginController extends BaseController {
return mv;
}
@RequestMapping("/403")
public ModelAndView to403PAge(){
ModelAndView mv = this.getModelAndView();
mv.setViewName("admin/frame/403");
return mv;
}
}
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<base href="<%=basePath %>">
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>403无权访问</title>
<style type="text/css">
body,h1,p{margin:0;padding:0;}
body{background:#fcfbfb;}
.nofound{width:470px;margin:0 auto;padding:180px 0 100px;text-align:center;color:#5c6048;font-size:16px;line-height:30px;font-family:"Microsoft Yahei";background:url(images/nofound-bg.png) right 62px no-repeat;}
.nofound p{padding-top:20px;}
.nofound-tit{padding-bottom:32px;font-weight:normal;font-size:150px;line-height:120px;}
.nofound-why{font-size:30px;line-height:30px;}
.sorry{font-size:30px;}
.back-homepage{color:#ff6000;font-size:14px;}
</style>
</head>
<body>
<div class="nofound">
<h1 class="nofound-tit">403 <span class="nofound-why">why</span></h1>
<p class="sorry">非常抱歉...</p>
<p>您访问的页面无权访问</p>
<p>您可以 <a class="back-homepage" href="/jeeplatform">返回登录页</a></p>
</div>
</body>
</html>
\ No newline at end of file
......@@ -130,7 +130,7 @@
<init-param>
&lt;!&ndash; CAS登录页面,当SessionId无法匹配Session时,跳转到CAS登录页面 &ndash;&gt;
<param-name>casServerLoginUrl</param-name>
<param-value>http://localhost:8080/jeeplatform-sso/login</param-value>
<param-value>http://localhost:8080/cas/login</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
......@@ -148,7 +148,7 @@
<filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>http://localhost:8080/jeeplatform-sso</param-value>
<param-value>http://localhost:8080/cas</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册