나는 http://wso2.com/library/articles/2012/03/carbon-context-its-usages-wso2-products/을 읽었으므로 아래쪽에 실패한 유스 케이스를 설명하는 주석이 있음을 알게 될 것입니다. 이 문제를 해결하는 방법을 설명하십시오."WSO2 탄소 컨텍스트와 WSO2 제품의 용도"에보고 된 문제 해결 방법?
답변
이 문제는 실제로 CarbonContext에서 버그 또는 제한 사항이 아닙니다 (적어도 WSO2 AS 5.1.0에서는 시도한 바 있습니다). 다음 코드 스 니펫을 사용하여이를 증명할 수 있습니다.
try {
CarbonContext carbonContext = CarbonContext.getCurrentContext();
int tenantId = carbonContext.getTenantId();
System.out.println("TENANT ID:" + tenantId);
String username = carbonContext.getUsername();
System.out.println("USERNAME:" + username);
UserRealm userRealm = carbonContext.getUserRealm();
String[] roleNames = userRealm.getUserStoreManager().getRoleNames();
userRealm.getUserStoreManager().getRoleListOfUser(username);
System.out.println("ALL ROLES:" + Arrays.toString(roleNames));
} catch (Exception e) {
e.printStackTrace();
}
세입자 ID는 올바르게 인쇄되었지만 사용자 이름은 아닙니다. 명백한 것은 아니지만, 그것은 당신이 당신이 누구인지 서비스에 대해 말하지 않았기 때문입니다. 관리 콘솔에 로그인되어 있다고해서 AS에 호스팅 된 서비스에 로그인 한 것은 아닙니다. 비슷한 기능을 사용하려면 서비스의 보안을 설정해야합니다 (관리 콘솔에서 수행 할 수 있음). 예를 들어 UsernameToken을 사용했습니다. 그런 다음 TryIt은 서비스를 호출 할 때 사용자 이름과 암호를 입력하라는 메시지를 표시해야합니다. 유효한 자격 증명에 대해서만 응답을받습니다.
그러나, 그래도 코드는 여전히 CarbonContext가 null 인 사용자 이름과 관련된 동일한 예외를 반환합니다. 이 문제를 해결하려면 다음 두 매개 변수를 각 서비스의 services.xml에 추가해야합니다 (예 : samples/HelloService의 - conf/services.xml).
<parameter name="adminService" locked="true">true</parameter>
<parameter name="AuthorizationAction"
locked="false">/permission/admin/login</parameter>
이렇게하면 서비스를 호출하는 동안 로그인 한 사용자에 대한 필수 정보로 Carbon Context가 초기화됩니다.
이 작업을 수행하려면 물론 services.xml의 변경 사항으로 서비스를 다시 배포해야합니다. 재배포가 완료되면 관리 콘솔을 사용하여 완료된 보안 설정이 제거되므로 보안을 설정했는지 여부를 확인하십시오.
- 1. wso2 탄소 바인딩 주소
- 2. WSO2 탄소 데이터베이스가 손상되었습니다.
- 3. WSO2 탄소 관리 콘솔 예외
- 4. wso2 탄소 - servicemix/fuseesb에 배포
- 5. WSO2 탄소 log4j 사용자 정의 appender
- 6. WSO2 탄소 오류 12.04 내가 WSO2 DataServices에 또는 다른 WSO2 탄소 서버를 실행하려고하면, 나는 다음과 같은 오류 가지고
- 7. WSO2 탄소 4.x JNDI Tomcat
- 8. wso2 탄소 학생용 관리 사례 4.0
- 9. WSO2 탄소 ESB UDP 전송 예제
- 10. WSO2 탄소/API/DSS/ESB - Docker Restart
- 11. WSO2 ESB 탄소 응용 프로그램 배포가 실패합니다.
- 12. wso2 carbon : 소스를 해킹하고 탄소 서버에 변경 사항을 적용하는 방법
- 13. WSO2-APIM 건물
- 14. WSO2 Carbon 제품의 CAR간에 종속성을 어떻게 지정합니까?
- 15. wso2 탄소 등록 경로 "/ _system"- 항목을 추가/편집해야합니까?
- 16. WSO2 SLF4J
- 17. WSO2 API 클라우드 문제
- 18. WSO2
- 19. 단일 탄소 응용 프로젝트와 다른 WSO2 제품 배치
- 20. wso2 사용자 지정 탄소 구성 요소 지속성 - jpa 또는 wso2 데이터 서비스
- 21. 중요한 구성 데이터를 저장하기 위해 WSO2 탄소 레지스트리를 사용합니다.
- 22. WSO2 Api Manager : 서비스 기록 방법
- 23. 원격으로 wso2 탄소의 OSGI 콘솔에 액세스하는 방법
- 24. '@'기호가있는 wso2 ID 서버 문제
- 25. Windows에서 WSO2 AM 및 WSO2 BAM 구성 문제
- 26. WSO2 API 관리자와 WSO2 BAM 분석 통합
- 27. WSO2 IS : 응용 프로그램 인증 자와 탄소 인증 자의 차이
- 28. WSO2 탄소 클래스 로더가 잘못된 OpenCMIS 인증 자
- 29. 는 WSO2 BAM
- 30. WSO2 ESB 클래스 중재자가