Commit 0beaa6d8 authored by Quxl's avatar Quxl

x

parent 3a508867
...@@ -24,17 +24,20 @@ import com.alibaba.fastjson.JSON; ...@@ -24,17 +24,20 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
/** /**
*
* <p>SSO 权限校验接口, 权限获取和业务接口调用已经全部封装在接口默认方法中, 使用者只需实现此接口并实现接口中的抽象方法即可.</p>
* <p>需要实现的抽象方法如下:</p>
* <p>1. getOAuthConfig 获取OAuth系统配置信息</p>
* <p>2.getHttpServletRequest 获取HttpServletRequest对象, 用户获取Session保存OAuthToken信息, 也用于获取和解析授权后OAuth回调中的Token信息</p>
* <p>3.getHttpServletResponse 获取HttpServletResponse对象, 用于直接重定向到OAuth授权页面, 如果业务不需要直接重定向, 也可以通过 getAuthorizationUrl 方法获取OAuth的授权地址, 由用户主动点击跳转到 OAuth授权页面</p>
*
* Example: * Example:
* <pre> * <pre>
* @Controller
* @RequestMapping
* public class LoginController { * public class LoginController {
* *
* @Autowired
* OAuthApi oAuthApi; * OAuthApi oAuthApi;
* *
* @GetMapping * public ModelAndView index() {
* private ModelAndView index() {
* OAuthConfig config = oAuthApi.getOAuthConfig(); * OAuthConfig config = oAuthApi.getOAuthConfig();
* ModelAndView mav = new ModelAndView(); * ModelAndView mav = new ModelAndView();
* mav.addObject("loginUrl", oAuthApi.getAuthorizationUrl()); //设置登陆授权URL, 用户可以在页面点击此URL,进入OAuth系统授权 * mav.addObject("loginUrl", oAuthApi.getAuthorizationUrl()); //设置登陆授权URL, 用户可以在页面点击此URL,进入OAuth系统授权
...@@ -43,13 +46,11 @@ import com.alibaba.fastjson.JSONObject; ...@@ -43,13 +46,11 @@ import com.alibaba.fastjson.JSONObject;
* return mav; * return mav;
* } * }
* *
* @GetMapping("toLogin") * public void toLogin() {
* private void toLogin() {
* oAuthApi.doRedirectOAuthLogin(); //直接转到OAuth系统授权,和用户主动在页面点击授权URL效果一样,都是跳转到一样的地址 * oAuthApi.doRedirectOAuthLogin(); //直接转到OAuth系统授权,和用户主动在页面点击授权URL效果一样,都是跳转到一样的地址
* } * }
* *
* @RequestMapping(value="callback", method= {RequestMethod.GET, RequestMethod.POST}) * public ModelAndView doLogin() {
* private ModelAndView doLogin() {
* oAuthApi.callback(); //授权成功后,授权系统通过重定向的方式回调业务系统,并附带授权参数信息,此代码用于解析授权系统的回调参数 * oAuthApi.callback(); //授权成功后,授权系统通过重定向的方式回调业务系统,并附带授权参数信息,此代码用于解析授权系统的回调参数
* OAuthToken token = oAuthApi.getOAuthToken(); * OAuthToken token = oAuthApi.getOAuthToken();
* ModelAndView mav = new ModelAndView(); * ModelAndView mav = new ModelAndView();
...@@ -58,8 +59,7 @@ import com.alibaba.fastjson.JSONObject; ...@@ -58,8 +59,7 @@ import com.alibaba.fastjson.JSONObject;
* return mav; * return mav;
* } * }
* *
* @RequestMapping(value="doLogout", method= {RequestMethod.GET, RequestMethod.POST}) * public ModelAndView doLogout(HttpServletResponse response) throws IOException {
* private ModelAndView doLogout(HttpServletResponse response) throws IOException {
* oAuthApi.removeOAuthToken(); * oAuthApi.removeOAuthToken();
* ModelAndView mav = new ModelAndView(); * ModelAndView mav = new ModelAndView();
* mav.setViewName("redirect:/"); * mav.setViewName("redirect:/");
...@@ -69,11 +69,6 @@ import com.alibaba.fastjson.JSONObject; ...@@ -69,11 +69,6 @@ import com.alibaba.fastjson.JSONObject;
* } * }
* </pre> * </pre>
* *
* SSO 权限校验接口, 权限获取和业务接口调用已经全部封装在接口默认方法中, 使用者只需实现此接口并实现接口中的抽象方法即可.
* 需要实现的抽象方法如下:
* 1. getOAuthConfig 获取OAuth系统配置信息
* 2.getHttpServletRequest 获取HttpServletRequest对象, 用户获取Session保存OAuthToken信息, 也用于获取和解析授权后OAuth回调中的Token信息
* 3.getHttpServletResponse 获取HttpServletResponse对象, 用于直接重定向到OAuth授权页面, 如果业务不需要直接重定向, 也可以通过 getAuthorizationUrl 方法获取OAuth的授权地址, 由用户主动点击跳转到 OAuth授权页面
* *
* @author Quxl * @author Quxl
* *
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment