CAS 优化
This commit is contained in:
@@ -34,8 +34,10 @@ import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.constants.Boolean;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.util.Instance;
|
||||
import org.maxkey.web.ResponseConstants;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
@@ -169,7 +171,7 @@ INTERNAL_ERROR - an internal error occurred during ticket validation
|
||||
For all error codes, it is RECOMMENDED that CAS provide a more detailed message as the body of the \<cas:authenticationFailure\> block of the XML response.
|
||||
*/
|
||||
@ApiOperation(value = "CAS 2.0 ticket验证接口", notes = "通过ticket获取当前登录用户信息",httpMethod="POST")
|
||||
@RequestMapping("/authz/cas/serviceValidate")
|
||||
@RequestMapping(value="/authz/cas/serviceValidate",produces =MediaType.APPLICATION_XML_VALUE)
|
||||
@ResponseBody
|
||||
public String serviceValidate(
|
||||
HttpServletRequest request,
|
||||
@@ -178,7 +180,7 @@ For all error codes, it is RECOMMENDED that CAS provide a more detailed message
|
||||
@RequestParam(value = CasConstants.PARAMETER.SERVICE) String service,
|
||||
@RequestParam(value = CasConstants.PARAMETER.PROXY_CALLBACK_URL,required=false) String pgtUrl,
|
||||
@RequestParam(value = CasConstants.PARAMETER.RENEW,required=false) String renew,
|
||||
@RequestParam(value = CasConstants.PARAMETER.FORMAT,required=false,defaultValue=CasConstants.FORMAT_TYPE.XML) String format){
|
||||
@RequestParam(value = CasConstants.PARAMETER.FORMAT,required=false,defaultValue=ResponseConstants.FORMAT_TYPE.XML) String format){
|
||||
_logger.debug("serviceValidate "
|
||||
+ " ticket " + ticket
|
||||
+" , service " + service
|
||||
@@ -187,8 +189,6 @@ For all error codes, it is RECOMMENDED that CAS provide a more detailed message
|
||||
+" , format " + format
|
||||
);
|
||||
|
||||
setContentType(request,response,format);
|
||||
|
||||
Ticket storedTicket=null;
|
||||
if(ticket.startsWith(CasConstants.PREFIX.SERVICE_TICKET_PREFIX)) {
|
||||
try {
|
||||
@@ -215,7 +215,7 @@ For all error codes, it is RECOMMENDED that CAS provide a more detailed message
|
||||
serviceResponseBuilder.success().setTicket(proxyGrantingTicketIOU);
|
||||
serviceResponseBuilder.success().setProxy(pgtUrl);
|
||||
|
||||
postMessage(pgtUrl+"?pgtId="+proxyGrantingTicket+"&pgtIou="+proxyGrantingTicketIOU,null);
|
||||
httpRequestAdapter.post(pgtUrl+"?pgtId="+proxyGrantingTicket+"&pgtIou="+proxyGrantingTicketIOU,null);
|
||||
}
|
||||
|
||||
if(Boolean.isTrue(storedTicket.getCasDetails().getIsAdapter())){
|
||||
@@ -294,7 +294,7 @@ Response on ticket validation failure:
|
||||
*/
|
||||
|
||||
@ApiOperation(value = "CAS 2.0 ticket代理验证接口", notes = "通过ticket获取当前登录用户信息",httpMethod="POST")
|
||||
@RequestMapping("/authz/cas/proxyValidate")
|
||||
@RequestMapping(value="/authz/cas/proxyValidate",produces =MediaType.APPLICATION_XML_VALUE)
|
||||
@ResponseBody
|
||||
public String proxy(
|
||||
HttpServletRequest request,
|
||||
@@ -303,7 +303,7 @@ Response on ticket validation failure:
|
||||
@RequestParam(value = CasConstants.PARAMETER.SERVICE) String service,
|
||||
@RequestParam(value = CasConstants.PARAMETER.PROXY_CALLBACK_URL,required=false) String pgtUrl,
|
||||
@RequestParam(value = CasConstants.PARAMETER.RENEW,required=false) String renew,
|
||||
@RequestParam(value = CasConstants.PARAMETER.FORMAT,required=false,defaultValue=CasConstants.FORMAT_TYPE.XML) String format){
|
||||
@RequestParam(value = CasConstants.PARAMETER.FORMAT,required=false,defaultValue=ResponseConstants.FORMAT_TYPE.XML) String format){
|
||||
_logger.debug("proxyValidate "
|
||||
+ " ticket " + ticket
|
||||
+" , service " + service
|
||||
@@ -311,7 +311,6 @@ Response on ticket validation failure:
|
||||
+" , renew " + renew
|
||||
+" , format " + format
|
||||
);
|
||||
setContentType(request,response,format);
|
||||
|
||||
Ticket storedTicket=null;
|
||||
if(ticket.startsWith(CasConstants.PREFIX.PROXY_TICKET_PREFIX)) {
|
||||
@@ -396,28 +395,29 @@ INTERNAL_ERROR - an internal error occurred during ticket validation
|
||||
|
||||
For all error codes, it is RECOMMENDED that CAS provide a more detailed message as the body of the <cas:authenticationFailure> block of the XML response.
|
||||
*/
|
||||
@RequestMapping("/authz/cas/proxy")
|
||||
@RequestMapping(value="/authz/cas/proxy" ,produces =MediaType.APPLICATION_XML_VALUE)
|
||||
@ResponseBody
|
||||
public String proxy(
|
||||
HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
@RequestParam(value = CasConstants.PARAMETER.PROXY_GRANTING_TICKET) String pgt,
|
||||
@RequestParam(value = CasConstants.PARAMETER.TARGET_SERVICE) String targetService,
|
||||
@RequestParam(value = CasConstants.PARAMETER.FORMAT,required=false,defaultValue=CasConstants.FORMAT_TYPE.XML) String format){
|
||||
@RequestParam(value = CasConstants.PARAMETER.FORMAT,required=false,defaultValue=ResponseConstants.FORMAT_TYPE.XML) String format){
|
||||
_logger.debug("proxy "
|
||||
+ " pgt " + pgt
|
||||
+" , targetService " + targetService
|
||||
+" , format " + format
|
||||
);
|
||||
setContentType(request,response,format);
|
||||
ProxyServiceResponseBuilder proxyServiceResponseBuilder=new ProxyServiceResponseBuilder();
|
||||
|
||||
ProxyGrantingTicketImpl proxyGrantingTicketImpl = (ProxyGrantingTicketImpl)casProxyGrantingTicketServices.get(pgt);
|
||||
if(proxyGrantingTicketImpl != null) {
|
||||
ProxyTicketImpl ProxyTicketImpl = new ProxyTicketImpl(proxyGrantingTicketImpl.getAuthentication(),proxyGrantingTicketImpl.getCasDetails());
|
||||
String proxyTicket =ticketServices.createTicket(ProxyTicketImpl);
|
||||
ProxyServiceResponseBuilder proxyServiceResponseBuilder=new ProxyServiceResponseBuilder();
|
||||
return proxyServiceResponseBuilder.success().setTicket(proxyTicket).setFormat(format).serviceResponseBuilder();
|
||||
proxyServiceResponseBuilder.success().setTicket(proxyTicket).setFormat(format);
|
||||
}else {
|
||||
proxyServiceResponseBuilder.success().setTicket("").setFormat(format);
|
||||
}
|
||||
ProxyServiceResponseBuilder proxyServiceResponseBuilder=new ProxyServiceResponseBuilder();
|
||||
return proxyServiceResponseBuilder.success().setTicket("").setFormat(format).serviceResponseBuilder();
|
||||
return proxyServiceResponseBuilder.serviceResponseBuilder();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,13 +35,12 @@ import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.constants.Boolean;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.util.Instance;
|
||||
import org.maxkey.web.ResponseConstants;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
@@ -56,16 +55,15 @@ public class Cas30AuthorizeEndpoint extends CasBaseAuthorizeEndpoint{
|
||||
final static Logger _logger = LoggerFactory.getLogger(Cas30AuthorizeEndpoint.class);
|
||||
|
||||
@ApiOperation(value = "CAS 3.0 ticket验证接口", notes = "通过ticket获取当前登录用户信息",httpMethod="POST")
|
||||
@RequestMapping("/authz/cas/p3/serviceValidate")
|
||||
@ResponseBody
|
||||
public String serviceValidate(
|
||||
@RequestMapping(value="/authz/cas/p3/serviceValidate")
|
||||
public void serviceValidate(
|
||||
HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
@RequestParam(value = CasConstants.PARAMETER.TICKET) String ticket,
|
||||
@RequestParam(value = CasConstants.PARAMETER.SERVICE) String service,
|
||||
@RequestParam(value = CasConstants.PARAMETER.PROXY_CALLBACK_URL,required=false) String pgtUrl,
|
||||
@RequestParam(value = CasConstants.PARAMETER.RENEW,required=false) String renew,
|
||||
@RequestParam(value = CasConstants.PARAMETER.FORMAT,required=false,defaultValue=CasConstants.FORMAT_TYPE.XML) String format){
|
||||
@RequestParam(value = CasConstants.PARAMETER.FORMAT,required=false,defaultValue=ResponseConstants.FORMAT_TYPE.XML) String format){
|
||||
_logger.debug("serviceValidate "
|
||||
+ " ticket " + ticket
|
||||
+" , service " + service
|
||||
@@ -74,8 +72,6 @@ public class Cas30AuthorizeEndpoint extends CasBaseAuthorizeEndpoint{
|
||||
+" , format " + format
|
||||
);
|
||||
|
||||
setContentType(request,response,format);
|
||||
|
||||
Ticket storedTicket=null;
|
||||
if(ticket.startsWith(CasConstants.PREFIX.SERVICE_TICKET_PREFIX)) {
|
||||
try {
|
||||
@@ -102,7 +98,7 @@ setContentType(request,response,format);
|
||||
serviceResponseBuilder.success().setTicket(proxyGrantingTicketIOU);
|
||||
serviceResponseBuilder.success().setProxy(pgtUrl);
|
||||
|
||||
postMessage(pgtUrl+"?pgtId="+proxyGrantingTicket+"&pgtIou="+proxyGrantingTicketIOU,null);
|
||||
httpRequestAdapter.post(pgtUrl+"?pgtId="+proxyGrantingTicket+"&pgtIou="+proxyGrantingTicketIOU,null);
|
||||
}
|
||||
|
||||
if(Boolean.isTrue(storedTicket.getCasDetails().getIsAdapter())){
|
||||
@@ -116,46 +112,45 @@ setContentType(request,response,format);
|
||||
.setDescription("Ticket "+ticket+" not recognized");
|
||||
}
|
||||
|
||||
return serviceResponseBuilder.serviceResponseBuilder();
|
||||
httpResponseAdapter.write(response,serviceResponseBuilder.serviceResponseBuilder(),format);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "CAS 3.0 ProxyTicket代理验证接口", notes = "通过ProxyGrantingTicket获取ProxyTicket",httpMethod="POST")
|
||||
@RequestMapping("/authz/cas/p3/proxy")
|
||||
@ResponseBody
|
||||
public String proxy(
|
||||
public void proxy(
|
||||
HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
@RequestParam(value = CasConstants.PARAMETER.PROXY_GRANTING_TICKET) String pgt,
|
||||
@RequestParam(value = CasConstants.PARAMETER.TARGET_SERVICE) String targetService,
|
||||
@RequestParam(value = CasConstants.PARAMETER.FORMAT,required=false,defaultValue=CasConstants.FORMAT_TYPE.XML) String format){
|
||||
@RequestParam(value = CasConstants.PARAMETER.FORMAT,required=false,defaultValue=ResponseConstants.FORMAT_TYPE.XML) String format){
|
||||
_logger.debug("proxy "
|
||||
+ " pgt " + pgt
|
||||
+" , targetService " + targetService
|
||||
+" , format " + format
|
||||
);
|
||||
setContentType(request,response,format);
|
||||
ProxyServiceResponseBuilder proxyServiceResponseBuilder=new ProxyServiceResponseBuilder();
|
||||
ProxyGrantingTicketImpl proxyGrantingTicketImpl = (ProxyGrantingTicketImpl)casProxyGrantingTicketServices.get(pgt);
|
||||
if(proxyGrantingTicketImpl != null) {
|
||||
ProxyTicketImpl ProxyTicketImpl = new ProxyTicketImpl(proxyGrantingTicketImpl.getAuthentication(),proxyGrantingTicketImpl.getCasDetails());
|
||||
String proxyTicket =ticketServices.createTicket(ProxyTicketImpl);
|
||||
ProxyServiceResponseBuilder proxyServiceResponseBuilder=new ProxyServiceResponseBuilder();
|
||||
return proxyServiceResponseBuilder.success().setTicket(proxyTicket).setFormat(format).serviceResponseBuilder();
|
||||
proxyServiceResponseBuilder.success().setTicket(proxyTicket).setFormat(format);
|
||||
}else {
|
||||
proxyServiceResponseBuilder.success().setTicket("").setFormat(format);
|
||||
}
|
||||
ProxyServiceResponseBuilder proxyServiceResponseBuilder=new ProxyServiceResponseBuilder();
|
||||
return proxyServiceResponseBuilder.success().setTicket("").setFormat(format).serviceResponseBuilder();
|
||||
|
||||
httpResponseAdapter.write(response,proxyServiceResponseBuilder.serviceResponseBuilder(),format);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "CAS 3.0 ticket代理验证接口", notes = "通过ProxyTicket获取当前登录用户信息",httpMethod="POST")
|
||||
@RequestMapping("/authz/cas/p3/proxyValidate")
|
||||
@ResponseBody
|
||||
public String proxy(
|
||||
public void proxy(
|
||||
HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
@RequestParam(value = CasConstants.PARAMETER.TICKET) String ticket,
|
||||
@RequestParam(value = CasConstants.PARAMETER.SERVICE) String service,
|
||||
@RequestParam(value = CasConstants.PARAMETER.PROXY_CALLBACK_URL,required=false) String pgtUrl,
|
||||
@RequestParam(value = CasConstants.PARAMETER.RENEW,required=false) String renew,
|
||||
@RequestParam(value = CasConstants.PARAMETER.FORMAT,required=false,defaultValue=CasConstants.FORMAT_TYPE.XML) String format){
|
||||
@RequestParam(value = CasConstants.PARAMETER.FORMAT,required=false,defaultValue=ResponseConstants.FORMAT_TYPE.XML) String format){
|
||||
_logger.debug("proxyValidate "
|
||||
+ " ticket " + ticket
|
||||
+" , service " + service
|
||||
@@ -163,7 +158,6 @@ setContentType(request,response,format);
|
||||
+" , renew " + renew
|
||||
+" , format " + format
|
||||
);
|
||||
setContentType(request,response,format);
|
||||
|
||||
Ticket storedTicket=null;
|
||||
if(ticket.startsWith(CasConstants.PREFIX.PROXY_TICKET_PREFIX)) {
|
||||
@@ -191,7 +185,6 @@ setContentType(request,response,format);
|
||||
.setCode(CasConstants.ERROR_CODE.INVALID_TICKET)
|
||||
.setDescription("Ticket "+ticket+" not recognized");
|
||||
}
|
||||
|
||||
return serviceResponseBuilder.serviceResponseBuilder();
|
||||
httpResponseAdapter.write(response,serviceResponseBuilder.serviceResponseBuilder(),format);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,10 +112,11 @@ public class CasAuthorizeEndpoint extends CasBaseAuthorizeEndpoint{
|
||||
callbackUrl.append("?");
|
||||
}
|
||||
|
||||
if(callbackUrl.indexOf("&") != -1) {
|
||||
if(callbackUrl.indexOf("&") != -1 ||callbackUrl.indexOf("=") != -1) {
|
||||
callbackUrl.append("&");
|
||||
}
|
||||
|
||||
|
||||
//append ticket
|
||||
callbackUrl.append(CasConstants.PARAMETER.TICKET).append("=").append(ticket);
|
||||
|
||||
|
||||
@@ -17,37 +17,15 @@
|
||||
|
||||
package org.maxkey.authz.cas.endpoint;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.http.HttpEntity;
|
||||
import org.apache.http.NameValuePair;
|
||||
import org.apache.http.client.config.RequestConfig;
|
||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
|
||||
import org.apache.http.client.methods.CloseableHttpResponse;
|
||||
import org.apache.http.client.methods.HttpPost;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
import org.apache.http.impl.client.HttpClients;
|
||||
import org.apache.http.message.BasicNameValuePair;
|
||||
import org.apache.http.util.EntityUtils;
|
||||
import org.maxkey.authn.online.OnlineTicketServices;
|
||||
import org.maxkey.authz.cas.endpoint.ticket.CasConstants;
|
||||
import org.maxkey.authz.cas.endpoint.ticket.TicketServices;
|
||||
import org.maxkey.authz.endpoint.AuthorizeBaseEndpoint;
|
||||
import org.maxkey.constants.ContentType;
|
||||
import org.maxkey.persistence.service.AppsCasDetailsService;
|
||||
import org.maxkey.persistence.service.UserInfoService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.maxkey.web.HttpResponseAdapter;
|
||||
import org.maxkey.web.HttpRequestAdapter;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
|
||||
@@ -78,86 +56,10 @@ public class CasBaseAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
@Qualifier("casProxyGrantingTicketServices")
|
||||
protected TicketServices casProxyGrantingTicketServices;
|
||||
|
||||
@Autowired
|
||||
protected HttpResponseAdapter httpResponseAdapter;
|
||||
|
||||
public void setContentType(
|
||||
HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
String format) {
|
||||
|
||||
if(format == null || format.equalsIgnoreCase("") || format.equalsIgnoreCase(CasConstants.FORMAT_TYPE.XML)) {
|
||||
//response.setContentType(ContentType.APPLICATION_XML_UTF8);
|
||||
}else {
|
||||
response.setContentType(ContentType.APPLICATION_JSON_UTF8);
|
||||
}
|
||||
}
|
||||
@Autowired
|
||||
protected HttpRequestAdapter httpRequestAdapter;
|
||||
|
||||
public void postMessage(String url,Map<String, Object> paramMap) {
|
||||
// 创建httpClient实例
|
||||
CloseableHttpClient httpClient = HttpClients.createDefault();
|
||||
CloseableHttpResponse httpResponse = null;
|
||||
// 创建httpPost远程连接实例
|
||||
HttpPost httpPost = new HttpPost(url);
|
||||
// 配置请求参数实例
|
||||
RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(35000)// 设置连接主机服务超时时间
|
||||
.setConnectionRequestTimeout(35000)// 设置连接请求超时时间
|
||||
.setSocketTimeout(60000)// 设置读取数据连接超时时间
|
||||
.build();
|
||||
// 为httpPost实例设置配置
|
||||
httpPost.setConfig(requestConfig);
|
||||
// 设置请求头
|
||||
httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||
// 封装post请求参数
|
||||
if (null != paramMap && paramMap.size() > 0) {
|
||||
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
|
||||
// 通过map集成entrySet方法获取entity
|
||||
Set<Entry<String, Object>> entrySet = paramMap.entrySet();
|
||||
// 循环遍历,获取迭代器
|
||||
Iterator<Entry<String, Object>> iterator = entrySet.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Entry<String, Object> mapEntry = iterator.next();
|
||||
_logger.debug("Name " + mapEntry.getKey() + " , Value " +mapEntry.getValue());
|
||||
nvps.add(new BasicNameValuePair(mapEntry.getKey(), mapEntry.getValue().toString()));
|
||||
}
|
||||
|
||||
// 为httpPost设置封装好的请求参数
|
||||
try {
|
||||
httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
_logger.debug("Post Message \n" +
|
||||
httpPost.getEntity().toString()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
// httpClient对象执行post请求,并返回响应参数对象
|
||||
httpResponse = httpClient.execute(httpPost);
|
||||
// 从响应对象中获取响应内容
|
||||
HttpEntity entity = httpResponse.getEntity();
|
||||
_logger.debug("Http Response StatusCode " +
|
||||
httpResponse.getStatusLine().getStatusCode()+
|
||||
" , Content " +EntityUtils.toString(entity)
|
||||
);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
// 关闭资源
|
||||
if (null != httpResponse) {
|
||||
try {
|
||||
httpResponse.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
if (null != httpClient) {
|
||||
try {
|
||||
httpClient.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ import org.maxkey.authz.cas.endpoint.ticket.ServiceTicketImpl;
|
||||
import org.maxkey.authz.cas.endpoint.ticket.TicketGrantingTicketImpl;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.AppsCasDetails;
|
||||
import org.maxkey.web.ResponseConstants;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -195,7 +196,7 @@ public class CasRestV1Endpoint extends CasBaseAuthorizeEndpoint{
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.add("location", location);
|
||||
ServiceResponseBuilder serviceResponseBuilder=new ServiceResponseBuilder();
|
||||
serviceResponseBuilder.setFormat(CasConstants.FORMAT_TYPE.JSON);
|
||||
serviceResponseBuilder.setFormat(ResponseConstants.FORMAT_TYPE.JSON);
|
||||
//for user
|
||||
serviceResponseBuilder.setAttribute("uid", userInfo.getId());
|
||||
serviceResponseBuilder.setAttribute("displayName",userInfo.getDisplayName());
|
||||
|
||||
@@ -19,8 +19,7 @@ package org.maxkey.authz.cas.endpoint.response;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.maxkey.authz.cas.endpoint.ticket.CasConstants;
|
||||
import org.maxkey.web.ResponseConstants;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@@ -32,7 +31,7 @@ public class CasServiceResponse {
|
||||
protected boolean result=false;
|
||||
protected String user;
|
||||
protected String ticket;
|
||||
protected String format=CasConstants.FORMAT_TYPE.XML;
|
||||
protected String format=ResponseConstants.FORMAT_TYPE.XML;
|
||||
protected ArrayList<String >proxies=new ArrayList<String>();
|
||||
|
||||
protected HashMap<String,ArrayList<String>>casAttributes=new HashMap<String,ArrayList<String>>();
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
package org.maxkey.authz.cas.endpoint.response;
|
||||
|
||||
import org.maxkey.authz.cas.endpoint.ticket.CasConstants;
|
||||
import org.maxkey.web.ResponseConstants;
|
||||
|
||||
public class ProxyServiceResponseBuilder extends ServiceResponseBuilder{
|
||||
|
||||
@@ -28,7 +28,7 @@ public class ProxyServiceResponseBuilder extends ServiceResponseBuilder{
|
||||
@Override
|
||||
public String serviceResponseBuilder() {
|
||||
String responseString = "";
|
||||
if(format.equalsIgnoreCase(CasConstants.FORMAT_TYPE.XML)){
|
||||
if(format.equalsIgnoreCase(ResponseConstants.FORMAT_TYPE.XML)){
|
||||
responseString = serviceResponseXmlBuilder();
|
||||
}else{
|
||||
responseString =serviceResponseJsonBuilder();
|
||||
|
||||
@@ -19,8 +19,7 @@ package org.maxkey.authz.cas.endpoint.response;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.maxkey.authz.cas.endpoint.ticket.CasConstants;
|
||||
import org.maxkey.web.ResponseConstants;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@@ -30,7 +29,7 @@ public class ServiceResponseBuilder extends CasServiceResponse {
|
||||
@Override
|
||||
public String serviceResponseBuilder() {
|
||||
String responseString = "";
|
||||
if(format.equalsIgnoreCase(CasConstants.FORMAT_TYPE.XML)){
|
||||
if(format.equalsIgnoreCase(ResponseConstants.FORMAT_TYPE.XML)){
|
||||
responseString= serviceResponseXmlBuilder();
|
||||
}else{
|
||||
responseString= serviceResponseJsonBuilder();
|
||||
|
||||
@@ -63,17 +63,6 @@ public class CasConstants {
|
||||
public static final String REST_PASSWORD = "password";
|
||||
}
|
||||
|
||||
public static final class FORMAT_TYPE {
|
||||
/**
|
||||
* Default CAS XML response.
|
||||
*/
|
||||
public static final String XML="xml";
|
||||
/**
|
||||
* Render response in JSON.
|
||||
*/
|
||||
public static final String JSON="json";
|
||||
}
|
||||
|
||||
/* CAS Protocol PREFIX */
|
||||
public static final class PREFIX{
|
||||
/** Proxy ticket prefix applied to unique ids. */
|
||||
|
||||
Reference in New Issue
Block a user