10d2b95a9c0dacc0633aa8fda1d6599f3eba89ab
[portal/sdk.git] /
1 /*-
2  * ================================================================================
3  * ECOMP Portal SDK
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ================================================================================
19  */
20 package org.openecomp.portalapp.controller.core;
21
22 import java.util.HashMap;
23 import java.util.Map;
24
25 import javax.servlet.http.HttpServletRequest;
26 import javax.servlet.http.HttpServletResponse;
27
28 import org.openecomp.portalsdk.core.auth.LoginStrategy;
29 import org.openecomp.portalsdk.core.controller.UnRestrictedBaseController;
30 import org.openecomp.portalsdk.core.onboarding.listener.PortalTimeoutHandler;
31 import org.openecomp.portalsdk.core.service.LoginService;
32 import org.openecomp.portalsdk.core.service.ProfileService;
33 import org.openecomp.portalsdk.core.web.support.AppUtils;
34 import org.springframework.beans.factory.annotation.Autowired;
35 import org.springframework.stereotype.Controller;
36 import org.springframework.web.bind.annotation.RequestMapping;
37 import org.springframework.web.bind.annotation.RequestMethod;
38 import org.springframework.web.servlet.ModelAndView;
39
40 @Controller
41 @RequestMapping("/")
42 public class SDKLoginController extends UnRestrictedBaseController {
43         @Autowired
44         ProfileService service;
45         @Autowired
46         private LoginService loginService;
47         @Autowired
48         private LoginStrategy loginStrategy;
49         
50         private String viewName;
51
52         @RequestMapping(value = { "/login.htm" }, method = RequestMethod.GET)
53         public ModelAndView login(HttpServletRequest request) {
54                 Map<String, Object> model = new HashMap<String, Object>();
55                 return new ModelAndView("login", "model", model);
56         }
57
58         @RequestMapping(value = { "/login_external.htm" }, method = RequestMethod.GET)
59         public ModelAndView externalLogin(HttpServletRequest request) {
60                 Map<String, Object> model = new HashMap<String, Object>();
61                 return new ModelAndView("login_external", "model", model);
62         }
63
64         @RequestMapping(value = { "/login_external" }, method = RequestMethod.POST)
65         public ModelAndView doexternalLogin(HttpServletRequest request, HttpServletResponse response) throws Exception {
66                 return loginStrategy.doExternalLogin(request, response);
67         }
68
69         @RequestMapping(value = { "/doLogin" }, method = RequestMethod.GET)
70         public ModelAndView doLogin(HttpServletRequest request, HttpServletResponse response) throws Exception {
71                 return loginStrategy.doLogin(request, response);
72         }
73
74         public String getJessionId(HttpServletRequest request) {
75                 return request.getSession().getId();
76         }
77
78         protected void initateSessionMgtHandler(HttpServletRequest request) {
79                 String jSessionId = getJessionId(request);
80                 PortalTimeoutHandler.sessionCreated(jSessionId, jSessionId, AppUtils.getSession(request));
81         }
82
83         public String getViewName() {
84                 return viewName;
85         }
86
87         public void setViewName(String viewName) {
88                 this.viewName = viewName;
89         }
90
91         public LoginService getLoginService() {
92                 return loginService;
93         }
94
95         public void setLoginService(LoginService loginService) {
96                 this.loginService = loginService;
97         }
98
99 }