Spring Security
과 SpringMVC
을 사용하여 작고 간단한 webapp를 만들었으며 다중 테넌트 애플리케이션으로 변환하려고합니다.
내가 원하는 개념은 실제 JSP를 재사용하고 URL의 경로를 기반으로 결정한 구성에 따라 내용을 변경하는 것입니다.스프링 MVC와 스프링 보안을 사용하는 멀티 테넌트 웹 애플리케이션에서 form-login 사용
예 :
고객 # 1 (ABC) - URL : http://mydomain.com/abc/login.html
고객 # 2 (XYZ) - URL : http://mydomain.com/xyz/login.html
는 그래서 "임차인"의 이름이 페이지의 경로 접두어입니다.
나는 이렇게 될 내 컨트롤러를 수정 :
@Controller
@RequestMapping("/{customer:[a-zA-Z0-9]+}/login.htm")
public class LoginController
{
private static final Logger logger = Logger.getLogger(LoginController.class);
@RequestMapping
@ReadOnlyRequest
public String login(@PathVariable("customer") String customer, HttpServletRequest request)
{
// Do some 'customer' related actions here
return "login"; // Map to the 'login.jsp' view
}
}
내보기 확인자 구성은 다음과 같습니다
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
지금까지, 나는 다음과 같은 form-login
구성했다 :
<form-login
login-page="/login.htm"
authentication-failure-url="/login.htm?error=true"
login-processing-url="/login_process"
default-target-url="/index.jsp"
always-use-default-target="true"
/>
을 하지만 내 변경 사항을 지원하도록 변환하는 방법을 모르겠습니다.
<form-login
login-page="/${customer}/login.htm"
authentication-failure-url="/${customer}/login.htm?error=true"
login-processing-url="/${customer}/login_process"
default-target-url="/index.jsp"
always-use-default-target="true"
/>
.. http://stackoverflow.com/questions/20627972/multi-tenant- webapp-using-spring-mvc-and-hibernate-4-2-0-final ...하지만 대답은 찾을 수 없습니다 ..이 소스 코드를 게시 할 수 있습니까? 이 일을 위해 3 일 동안 노력했습니다. – edaklij
@edaklij - 제가 작업 한 프로젝트는 내가 얻은 조언을 구현하기 전에 취소되었습니다. – RonK