You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.3 KiB
34 lines
1.3 KiB
package com.ruoyi.framework.security.handle; |
|
|
|
import java.io.IOException; |
|
import java.io.Serializable; |
|
import javax.servlet.http.HttpServletRequest; |
|
import javax.servlet.http.HttpServletResponse; |
|
import org.springframework.security.core.AuthenticationException; |
|
import org.springframework.security.web.AuthenticationEntryPoint; |
|
import org.springframework.stereotype.Component; |
|
import com.alibaba.fastjson.JSON; |
|
import com.ruoyi.common.constant.HttpStatus; |
|
import com.ruoyi.common.utils.ServletUtils; |
|
import com.ruoyi.common.utils.StringUtils; |
|
import com.ruoyi.framework.web.domain.AjaxResult; |
|
|
|
/** |
|
* 认证失败处理类 返回未授权 |
|
* |
|
* @author ruoyi |
|
*/ |
|
@Component |
|
public class AuthenticationEntryPointImpl implements AuthenticationEntryPoint, Serializable |
|
{ |
|
private static final long serialVersionUID = -8970718410437077606L; |
|
|
|
@Override |
|
public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException e) |
|
throws IOException |
|
{ |
|
int code = HttpStatus.UNAUTHORIZED; |
|
String msg = StringUtils.format("请求访问:{},认证失败,无法访问系统资源", request.getRequestURI()); |
|
ServletUtils.renderString(response, JSON.toJSONString(AjaxResult.error(code, msg))); |
|
} |
|
}
|
|
|