2013-08-28 2 views
1

하나는 LE 10.1 SP9를 실행하는 다음과 같은 원자가 API 호출이 그들을 위해 작동하지 않는 사용자에게 권한 변경을 가져 오기 : userId)고객의

이전 버전 (LE 10.0 SP1 및 LE 10.1 SP4)에서이 API 호출은 "사용자 -> 사용자 관리 도구보기"권한을 설정하지 않고도 작동했습니다. 하지만 이제는 get user API 호출이 작동하도록이 권한이 설정되어 있어야합니다.

이 사용 권한은 향후 변경에서 의도 된 변경이나 감독을 변경 했습니까? 이 권한 변경은 LE 10.x의 어떤 릴리스가 도입 되었습니까?

+0

10.1 sp1 및 10.1 sp11 인스턴스에 대한 우리 자신의 테스트는 사용자 API 호출에 실제로 '사용자 -> 사용자 관리 도구보기'권한이 필요하지 않음을 나타냅니다. 이 전화는 얼마나 정확히하고 있니? 쿼리 매개 변수를 사용하여 필터를 제공하고 있습니까? 그렇다면 어떤 필터입니까? 나는 자신의 프로필을 관리 할 수있는 권한을 제외하고 절대적으로 권한이없는 호출 사용자를 테스트했으며이 호출은이 끝에서 작동합니다 ... –

+0

아니요, 쿼리 매개 변수를 사용하고 있지 않습니다. 정확한 호출은 GET /d2l/api/lp/1.1/users/XXX입니다. 여기서 XXX는 GET/d2l/api/lp/1/enrollments/orgunits/YYYY/사용자의 결과에서 얻은 User.User.Identifier의 값입니다. /? roleId = ZZZZ 여기서 ZZZZ는 학생 역할 ID입니다. 우리가하려는 것은 사용자 이름 (UniqueIdentifier), 코스에 등록한 학생의 이름과 성을 얻는 것입니다. 호출 컨텍스트에는 YYYY를 제공하는 강좌에 강사 역할이 있으며 사용자 프로필 관리, 다른 사용자 프로필보기 및 사용자 정보 프라이버시 그룹에 대한 모든 사용 권한이 있습니다. – user1382547

+0

... 이것은 자체 개발 서버에서 작동하지만 Instructor 역할에 사용자 관리 도구보기 권한이 부여되지 않은 경우 고객 서버. – user1382547

답변

0

GET /d2l/api/{ver}/users/{userId}을 비롯한 사용자 관리 서비스에서 사용자를 검색하는 다양한 API 호출에는 모두 Users->See the User Management tool 권한이 있어야합니다. 이는 의도적 인 제한 사항입니다. 이 제한 사항은 2012 년 4 월 서비스 팩 (9.4.1의 SP4)에서 LE 9.4.1 릴리스 이후 모든 플랫폼에서 적용됩니다. 후속 플랫폼 릴리스에 해당하지 않는다는 것을 알게되면 D2L에보고해야하는 결함이됩니다.

0

위에서 언급 한 것처럼 사용자 관리 경로는 시스템의 모든 사용자에게 액세스 할 수있는 사용자를 대상으로합니다. 코스를 통해 명시 적으로 액세스 할 수있는 사용자에 대한 정보의 하위 집합을 찾는 것처럼 들립니다. 사용자가 ClassList와 같은 것을 통해 정보에 대한 액세스 권한이 명시 적으로 부여 된 사용자에 대한 정보를 찾고 있다면 사용하기에 더 적합한 다른 경로가 있습니다.

이 있습니다 :/D2L/API/제작/(버전)/(orgUnitId)/classlist/

주 GET :이 경로는 사용자 정보의 개인 정보 설정에 따라뿐만 아니라 몇 가지 구성 변수입니다 제어하는 필드를 사용할 수 있습니다 (d2l.Tools.ClassList. *) UI를 통해 필드 (예 : 사용자 이름 또는 orgdefinedid)를 볼 수없는 경우 API 호출에서도 필드를 가져 오지 않으므로 권한과 구성을 조정해야합니다 변수 설정.