현재 스프링 웹 애플리케이션에 로그인 메커니즘을 구현하려고하고 있는데 봄에 사용되는 보안 개념에 대해 약간 혼란스러워합니다.봄에 보안 세션. 로그인 유지
로그인이 필요한 페이지에 액세스하면 로그인 페이지로 올바르게 리디렉션됩니다. 로그인 후 실제 페이지가 표시됩니다 (현재까지는 양호 함). 나는 다시 동일한 페이지에 액세스하는 경우이
<security:http use-expressions="true" auto-config="true">
<security:intercept-url pattern="/login" access="permitAll" />
<security:intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
<security:form-login login-page="/login" default-target-url="/welcome"
authentication-failure-url="/loginfailed" />
<security:logout logout-success-url="/logout" />
<security:remember-me/>
</security:http>
에 대한
코드 그러나, 나는 다시 로그인 할 필요가있다. 보안 세션이 필요합니다. 나는 이미 기억과 세션 관리에 관해 많은 것을 시도했지만 읽는 법을 알 수 없었다.
봄의 문서 나 키워드에 적절한 지침을 줄 수 있습니까?
로그인 양식
<form name='f' action="<c:url value='j_spring_security_check' />"
method='POST'>
<table>
<tr>
<td>User:</td>
<td><input type='text' name='j_username' value=''>
</td>
</tr>
<tr>
<td>Password:</td>
<td><input type='password' name='j_password' />
</td>
</tr>
<tr>
<td colspan='2'><input name="submit" type="submit"
value="submit" />
</td>
</tr>
<tr>
<td colspan='2'><input name="reset" type="reset" />
</td>
</tr>
</table>
</form>
당신은 conf의 파일에 보안 정의를이해야
@RequestMapping(value="/login", method = RequestMethod.GET)
public String login(ModelMap model) {
return "login";
}
@RequestMapping(value="/loginfailed", method = RequestMethod.GET)
public String loginerror(ModelMap model) {
model.addAttribute("error", "true");
return "login";
}
@RequestMapping(value="/logout", method = RequestMethod.GET)
public String logout(ModelMap model) {
return "login";
}
안녕 님, 사용자가 (긴) 동안 웹 페이지로 돌아 가면 유스 케이스에 대해 기억하지 못합니까? 내가 필요한 것은 사용자가 한 번만 인증 한 다음 웹 앱 (화면으로 화면 이동)으로 작업 할 수 있어야한다는 것입니다. 이것은 동일합니까? 그렇다면 실제로이 테이블을 유지해야합니까? 로그인 한 사용자 데이터를 서버 캐시에 유지하는 것이 가능하지 않습니까? –
@GreenLomu 예 rememeber-me는 세션이 종료되었을 때를 나타냅니다. 봄 장소는 세션 자동 ... – NimChimpsky
에 principial 로그인 및 어떻게 사용자가 이미 인증 체크 할 경우 유효한 세션을 가지고? 이것은에서 어떻게 든 다루어 졌습니까? –