authFilter (권한 프레임 워 크) 에 light - comons 가입
라이트 코 먼 스 와 자 카 르 타 코 먼 스 는 어떤 차이 가 있 느 냐 는 질문 이 있 습 니 다.처음에 이 문 제 는 나 자신 도 분명하게 생각 하지 못 했다.몇 번 의 light - comons 업 데 이 트 를 통 해 저 는 light - comons 의 포 지 셔 닝 을 찾 았 습 니 다. 이것 은 anti - spring - api 입 니 다. 이것 은 spring 과 같은 등급 에 있 는 것 이지 Jakarta - comons 와 같은 등급 에 있 는 것 이 아 닙 니 다.
spring - ioc 프레임 워 크 를 사용 하여 spring - bean 형식 으로 '가 져 오 면 쓴다' 는 종 류 를 많이 밀봉 하 였 습 니 다.그러나 이 종 류 는 spring - ioc 에 의 해 작 동 된다.
Jakarta - comons 는 분명히 더 작은 크기 의 패 키 징 을 제공 하 는 것 이 고 우 리 는 일상생활 에서 20% 도 안 되 는 기능 만 사용 할 수 있다.
light - comons 의 패 키 징 은 비교적 굵 은 입자 로 '가 져 오 면 사용 하 는' 종 류 를 제공 하 는 데 목적 을 둡 니 다. 그러나 이러한 종 류 는 ioc 용기 에 의존 하지 않 고 독립 적 이 며 사용자 가 어디에서 어떤 형식 으로 호출 할 지 결정 합 니 다.물론 스프링 구조의 프로젝트 에 도 사 용 될 수 있다.
최근 포럼 에서 jquery 와 prototype 의 싸움 을 보 니 spring 의 처리 방식 이 jquery 처럼 '확장 프레임 워 크' 를 실현 한 것 같 았 고, light - comons 는 prototype 처럼 'API' 만 제공 한 것 같 았 다.분명히 취향 에 있어 서 는 아직 정설 이 나 지 않 았 다.
제 가 07 년 6 월 에 댓 글 을 하나 달 았 거 든 요.
4. 567915. (국민 투표 의 선 정수 에 의 해 숨겨 진 지 1 년 이 되 었 습 니 다. 시간 이 정말 빠 릅 니 다) 그 당시 의 생각 은 절대적 이 었 지만 저 는 소박 한 코드 로 프로 그래 밍 하고 싶 습 니 다. 의존 하 는 제3자 프로젝트 를 모 르 더 라 도 유형 명, 변수 명, 방 법 명 을 통 해 코드 를 읽 을 수 있 습 니 다.대상 공장, Context, yes, but why must spring?
좀 멀 었 습 니 다. 새로 가입 한 AuthFilter 에 대해 말씀 드 리 겠 습 니 다.
AuthFilter 는 1 년 여 전에 쓴 코드 입 니 다. 이번 open 은 light - comons 에 들 어가 도움 이 되 고 피드백 도 받 고 싶 습 니 다.
핵심 클래스 AuthManager 부터 소개 합 니 다.
인용 하 다.
AuthManager 아래 는 정적 인 방법 으로 threadlocal 로 이 루어 집 니 다.
AuthManager. login (IUser user) -- 사용자 로그 인
AuthManager.logout() -- 사용자 로그 인
AuthManager. getAuthentication () -- 인증서 가 져 오기
AuthManager.getUser() -- 현재 로그 인 한 사용자 가 져 오기 (IUser 대상 으로 돌아 가기)
그리고 중요 한 인터페이스 가 하나 더 있어 요. IUser.
public interface IUser {
// PermissionKeys
Set<String> getPermissionKeys();
// ( )
boolean isSuperUser();
}
이제 손 을 쓸 수 있 습 니 다.
물론 웹. xml 에서
filter 의 정 의 를 추가 합 니 다. 보통 첫 번 째 필터 위치 에 놓 습 니 다:
<filter>
<filter-name>light-auth</filter-name>
<filter-class>org.lightcommons.web.auth.AuthFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>light-auth</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
그 다음은 classpath 에서.
auth. properties 가입
인용 하 다.
\ # 프레임 제한 없 는 페이지
page.ignores=/;/js/*;/images/*;/verify
\ # 로그 인 페이지, 로그 인 하지 않 은 상태 에서 접근 할 수 없 는 페이지 를 요청 하면 로그 인 페이지 로 이동 하고 마지막 으로 방문 한 주 소 를 lasturl = xxxx 에 넣 어 되 돌 릴 수 있 습 니 다.
page.login=/login.html
\ # 접근 할 수 없 는 페이지 url, 로그 인 상태 에서 접근 할 수 없 는 페이지 를 방문 하면 denied 페이지 로 이동 합 니 다.
page.denied=/denied.action
\ # PermissionKey 정의
auth.user.view=/user/view;/user/list;
auth.user.modify=/user/new;/user/save;/user/edit;/user/update;
auth.user.delete=/user/delete
그리고 User 의 model 을 수정 하여 implement IUser 를 만 듭 니 다.
마지막 으로 verify action 을 작성 하여 verify 방법 에서 사용자 이름, 비밀 번 호 를 검증 합 니 다.
AuthManager. login (someuser) 호출 하기;
예 를 들 어 사용자 가 user. view 라 는 permissionKey 를 가지 고 있 으 면 접근 할 수 있 습 니 다. /user/view / user / list 2 페이지 와 이 permissionkey 가 없 으 면 안 됩 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.