2016-06-11 1 views
0

Shiro를 사용 중이며 사용자 지정 영역이 있습니다. 내 앱에는 데이터베이스에 많은 사용자가 있으며 API 액세스를위한 비 사용자 프로세스 계정도 지원하려고합니다. 내 영역에서, 나는이 구현 : 이것은 위대한 작품을Shiro 사용자 지정 영역은 특정 사용자에게 간단한 인증을 제한합니다.

public boolean supports(AuthenticationToken at)

protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken)

protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals)

, 우리는 로그인 양식을 가지고 있고 UN/비밀번호에게 문제를 처리하지 않습니다.

저는 특정 사용자가 기본 HTTP 인증을 사용할 수 있도록 허용하고 나머지는 이미 작동하는 인증 양식을 사용하도록 허용하려고합니다. 두 가지 방법 중 하나를 허용하도록 INI를 설정할 수는 있지만 유형의 영역에 대한 인증을 구현하는 방법을 알지 못합니다.

HTTP 헤더를 통해 인증 된 비 -API 사용자에 대한 로그인 시도가 발생하면 요청을 거부하고 싶습니다.

어떻게하면 되나요? 필터를 작성하고 HTTP 헤더가 내가 생각할 수있는 유일한 방법인지 확인하십시오.

답변

0

I했던이 작업하기 위해 다음

  • 다른 Application 클래스를 만듭니다 특정 사용자에게 "API"역할을 추가하고 설정 내가
  • 을 노출 원의 ApplicationPath 나머지 엔드 포인트에 대한 /api에를
  • 이것은 GREA를 작동 shiro.ini 파일

authcBasic, role[api]/api 경로를 제한 티. 세부 사항은 다음과 같습니다. http://blog.mikeski.net/blog_post/470

관련 문제