JSP 개발 의 Spring Security 상세 설명
선언:
spring Security 는 Spring 기반 기업 응용 시스템 에 설명 적 안전 액세스 제어 솔 루 션 을 제공 할 수 있 는 안전 프레임 워 크 입 니 다.이 는 Spring 응용 컨 텍스트 에 설정 할 수 있 는 Bean 을 제공 합 니 다.Spring IoC(주입 의존,반전 제어)와 AOP(절단면 프로 그래 밍)기능 을 충분히 이용 하여 응용 시스템 에 성명 식 보안 접근 제어 기능 을 제공 하여 기업 시스템 보안 제어 에 중복 코드 를 많이 만 드 는 작업 을 줄 였 습 니 다.
Spring Security 의 전신 은 Acegi Security 로 Spring 프로젝트 팀 에서 안전 인증 서 비 스 를 제공 하 는 프레임 워 크 입 니 다.Spring Security 는 J2EE 기업 애플 리 케 이 션 을 바탕 으로 전면적 인 안전 서 비 스 를 제공 했다.특히 선도 적 인 J2EE 솔 루 션 인 스프링 프레임 워 크 를 사용 해 개발 한 기업 소프트웨어 프로젝트.
기능.
Spring Security 는 웹 보안 에 대한 지원 을 Servlet 필터 에 대량으로 의존 합 니 다.이 필터 들 은 요청 을 차단 하고 프로그램 이 이 요청 을 처리 하기 전에 보안 처 리 를 합 니 다.Spring Security 는 몇 개의 필 터 를 제공 합 니 다.Servlet 요청 을 차단 하고 이 요청 을 인증 과 방문 결정 관리자 에 게 전달 하여 안전성 을 강화 할 수 있 습 니 다.자신의 필요 에 따라 표 7.4 에 열 거 된 필 터 를 사용 하여 프로그램 을 보호 할 수 있 습 니 다.
Servlet 필 터 를 사용 한 적 이 있다 면 웹 프로그램의 웹.xml 파일 에서
FilterToBean Proxy 는 특수 한 Servlet 필터 입 니 다.그 자체 가 하 는 일이 많 지 않 고 Spring 응용 프로그램의 컨 텍스트 에 있 는 Bean 에 게 자신의 일 을 맡 깁 니 다.위 탁 된 Bean 은 거의 다른 Servlet 필터 와 마찬가지 로 javax.servlet.Filter 인 터 페 이 스 를 실현 하지만,웹.xml 파일 이 아 닌 Spring 프로필 에 설정 되 어 있 습 니 다.
실제로 FilterToBean Proxy 가 대리 해 준 그 Bean 은 javax.servlet.Filter 의 임 의적 인 실현 이 될 수 있 습 니 다.이것 은 Spring Security 의 모든 필터 일 수도 있 고,스스로 만 든 필터 일 수도 있 습 니 다.그러나 이 책 에서 언급 한 바 와 같이 Spring Security 는 최소 4 개 이상 의 필 터 를 설정 해 야 합 니 다.
많은 프로젝트 에서 응용 과 지역사회 의 기 여 를 실천 함으로써 현재 의 Spring Security 는 Spring Framework 에서 가장 성숙 한 안전 시스템 이 되 었 고 우리 에 게 강력 하고 유연 한 기업 급 안전 서 비 스 를 제공 했다.예 를 들 어:
1.웹 프로젝트 springSecurity 3 생 성
2.spring 사이트 에서 다운로드 한 spring-security-3.1.0.RELEASE 를 압축 해제 하고 그 중의 spring-security-samples-constacts-3.1.0.RELEASE.war 를 압축 해제 하여 jar 가방 을 lib 디 렉 터 리 에 넣 습 니 다.
3.설정 웹.xml 을 다음 과 같이 수정 합 니 다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- Spring XML -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:securityConfig.xml
</param-value>
</context-param>
<!-- Spring Secutiry3.1 -->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Spring -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
4.src 아래 에 security Config.xml 파일 을 만 드 는 내용 은 다음 과 같 습 니 다.
<?xml version="1.0" encoding="UTF-8"?>
<b:beans xmlns="http://www.springframework.org/schema/security"
xmlns:b="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<!-- -->
<http pattern="/login.jsp" security="none"/>
<http access-denied-page="/accessDenied.jsp">
<form-login login-page="/login.jsp"/>
<!-- /admin.jsp ROLE_ADMIN -->
<intercept-url pattern="/admin.jsp" access="ROLE_ADMIN"/>
<!-- /** ROLE_USER -->
<intercept-url pattern="/**" access="ROLE_USER"/>
<session-management>
<concurrency-control max-sessions="1" error-if-maximum-exceeded="false"/>
</session-management>
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="john" password="john" authorities="ROLE_USER" />
<user name="admin" password="admin" authorities="ROLE_USER, ROLE_ADMIN" /> <user name="guest" password="guest" authorities="ROLE_GUEST" />
</user-service>
</authentication-provider>
</authentication-manager>
</b:beans>
5.WebRoot 에서 login.jsp 를 만 드 는 내용 은 다음 과 같 습 니 다.
<body>
<form action="j_spring_security_check" method="POST">
<table>
<tr>
<td> :</td>
<td><input type='text'name='j_username'></td>
</tr>
<tr>
<td> :</td>
<td><input type='password'name='j_password'></td>
</tr>
<tr>
<td><input name="reset"type="reset"></td>
<td><input name="submit"type="submit"></td>
</tr>
</table>
</form>
</body>
6.WebRoot 에서 accessDenied.jsp 를 만 들 고,
<body>
, !<br>
</body>
admin.jsp 를 만 드 는 내용 은 다음 과 같 습 니 다.
<body>
. <br>
</body>
index.jsp 내용 을 다음 과 같이 수정 합 니 다.
<body>
, <sec:authentication property="name"/>!<br>
<a href="admin.jsp" rel="external nofollow" > admin </a>
<a href="other.jsp" rel="external nofollow" > </a>
</body>
자,프로젝트 를 배치 하고 index.jsp 에 접근 합 니 다.아 이 디 는 방금 배 치 된 그 아 이 디 입 니 다.뭐?까 먹 었 어.그래,내 가 다시 지적 해 줄 게.
<user name="john" password="john" authorities="ROLE_USER" />
<user name="admin" password="admin" authorities="ROLE_USER, ROLE_ADMIN" />
접근 권한 이 다른 페이지 는 다 릅 니 다.해 보 셔 도 돼 요. 이상 은 JSP 개발 에서 Spring Security 의 사례 에 대한 상세 한 설명 입 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남기 거나 본 사이트 의 커 뮤 니 티 에 가서 토론 하 십시오.읽 어 주 셔 서 감사합니다. 도움 이 되 셨 으 면 좋 겠 습 니 다.본 사이트 에 대한 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.