(내가 데모 흙을 보았습니다.하지만 HTTP 웹에 사용하고 있습니다. TCP/IP로 전환하는 방법을 모릅니다.) 저는 Delphi의 새로운 기능입니다. DataSnap 및 클라이언트 로그인 양식 (SQL Server에서 사용자 암호 확인)을 사용하고 역할을 적용하십시오. 어떤 코드 나 대답도 감사 할 것입니다 미리 감사드립니다.Delphi XE 데이터 스냅 TCP/IP 클라이언트 로그인 양식
답변
당신이하고 싶은 일과 현재 제대로 작동하지 않는 것에 대해 좀 더 명확하게 설명해 주시면 기꺼이 도와 드리겠습니다. (응용 프로그램으로 수행하려는 작업, 인증을 위해 지금까지 무엇을했는지, 정확히 무엇을 고집하는지)
처음부터 다시 시작하려면 다음을 수행하십시오.
"DataSnap 서버"마법사를 사용하여 새 서버 프로젝트를 생성하십시오. Indy (WebBroker 대신)를 사용하고 TCP/IP 연결을 허용합니다. (헤비급 콜백의 경우에도 마찬가지입니다.)
마법사에서 속성을 설정하는 동안 "인증"옵션 ("인증"은 필요하지 않음)을 선택해야합니다.보다 복잡한 인증/권한 부여 메커니즘이 필요한 경우에만 선택하십시오.)
열고 마법사가 생성되고 마법사에서 인증을 확인하면 자동으로 추가 "DSAuthenticationManager1UserAuthenticate"기능을 (찾기 코드 탭
에 스위치 ServerModule 장치를.)
이 기능에서는 사용자 이름 ("사용자")과 암호 ("암호")에 대한 액세스 권한이 있습니다. 데이터베이스에 연결하고 일치하는 사용자가 있는지, 그리고 사용자가 갖고있는 역할을 확인하십시오. 그런 다음이 메서드에 전달 된 UserRoles 컬렉션을 사용자가 가진 모든 역할로 채 웁니다.
사용자에게 역할을 지정하면 서버 메서드에서도 할당 된 역할을 허용하거나 거부 할 때까지 아무 것도 수행하지 않습니다. Object Inspector에서 디자인 타임에 TDSAuthenticationManager 구성 요소에서이 작업을 수행 할 수 있습니다. (ServerModule 형식). 수정할 수있는 역할 컬렉션이 있습니다.
또는 서버 메서드에 코드의 특성을 추가 할 수 있습니다. 당신은 예를 들어이를 넣을 수 있습니다 : 인 EchoString을 의미합니다
[TRoleAuth('admin')]
function EchoString(String: Value): String;
만 '관리자'역할을 가진 사용자가 호출 할 수 있습니다.
또는이 : 인 EchoString를 호출 할 수있는 '관리자'역할이있는 사용자를 제외하고 사람을 의미
[TRoleAuth('', 'admin')]
function EchoString(String: Value): String;
.
또는이 : 인 EchoString를 호출 할 수 있습니다 자신의 역할 중 하나 (또는 조합)와 같은 '관리', '고객'또는 '방문자'이있는 모든 사용자를 의미
[TRoleAuth('admin,guest,visitor')]
function EchoString(String: Value): String;
.
참고 : TRoleAuth 특성을 사용하려면 uses 절에 DSAuth 단위를 추가해야합니다. 그렇지 않으면 역할 특성이 무시됩니다.
클라이언트에서 TSQLConnection 구성 요소를 추가하십시오. 드라이버를 "Datasnap"으로 설정 한 다음 확장하십시오. 호스트 및 포트 값을 설정하십시오. 여기에이 설정에 대한 자세한 내용보기 : 또한
는, 내가 이전에 인증에 대해 내 블로그에 게시 한 : http://blogs.embarcadero.com/mathewd/2010/09/12/authentication-and-authorization-with-datasnap-and-rest/
나는이 도움이되기를 바랍니다.
매트
- 1. ERangeError on Delphi XE
- 2. Delphi XE 아이콘
- 3. Delphi XE Reportman
- 4. 델파이하십시오 데이터 스냅-XE 서버에 ZLibCompression 필터를 등록하는 방법
- 5. DELPHI XE wpf like GUI
- 6. Delphi XE 및 Winrunner (QTP)
- 7. Delphi5를 Delphi XE 환경에서 사용하십시오.
- 8. Delphi XE TBytes 올바른 사용법
- 9. Delphi XE - 파일 삭제 알림 이벤트 :
- 10. Control + Click Freeze in Delphi XE
- 11. Sqlite WHERE 절과 Delphi XE Longword 값
- 12. Delphi XE - 프록시에서 https SVN 서버에 액세스
- 13. 델파이 XE - DATASNAP 필터 문제
- 14. * .DBF에서 Oracle XE 데이터 복원
- 15. Delphi 7의 Orbix 클라이언트
- 16. RTMP Delphi 클라이언트 라이브러리
- 17. Delphi, WebBrowser, Google 로그인, FusionTable
- 18. 로그인 양식 및 등록 양식
- 19. Delphi XE 패키지 및 설정을 다른 사용자로 이동하려면 어떻게해야합니까?
- 20. Delphi XE - W7/64 가상 시스템의 설치 문제
- 21. TActionList의 액션을 Delphi XE IDE에서 정렬 할 수 있습니까?
- 22. Toolsapi에서 Delphi XE 프로젝트의 변경 사항을 되돌릴 수 있습니까?
- 23. Delphi 팩스 구성 요소? (XE +의 Async Pro)
- 24. TCategoryPanelGroup (Delphi XE)에서 범주 순서를 변경하는 방법
- 25. Vim을 기본 병합 뷰어로 사용하도록 Delphi XE 설정
- 26. TCPIP 서버 단일 연결
- 27. 로그인 클라이언트 측 오류
- 28. Java의 Google 클라이언트 로그인?
- 29. 마스터 레코드/세부 클라이언트 데이터 세트 delphi dbexpress
- 30. 로그인 양식 경고 메시지, "위조 로그인 양식"을 설정하는 방법?