문제

클라이언트가 사용자 이름과 비밀번호로 로그인 해야하는 사용자 정의 클라이언트/서버 응용 프로그램을 개발하고 있습니다. 사용자 계정은 어떤 식 으로든 Windows/광고 계정과 관련이 없습니다. 로그인 후 클라이언트 응용 프로그램은 서버 시스템에서 다른 서비스를 요청합니다.

내 질문은 이것을 구현하는 가장 좋은 방법은 무엇입니까? 여기서 어떤 건축이 가장 잘 맞습니까? 나는 일종의 티켓/토큰 인증 시스템을 구현해야한다고 생각합니까 ???

감사

도움이 되었습니까?

해결책

실제로 다른 부품 (로그인 서버, 클라이언트, 앱 서버) 사이에 "티켓"을 전달하는 시스템을 구현할 수 있습니다. 이 티켓에는 사용자 ID (사용자 이름, 행 ID 등)와 같은 기본 정보가 포함됩니다. 이 티켓은 공인 서버가 공유하는 비밀 키로 암호화되거나 서버가 공유하는 비밀 키가 담긴 티켓 내용의 해시가 찍히게됩니다. 첫 번째 방법으로 승인 된 서버 만 티켓을 작성하고 읽을 수 있으며, 두 번째 방법을 사용하면 공인 서버가 승인 된 서버 만 티켓을 생성 할 수 있었지만 누구나 티켓을 읽을 수 있는지 확인할 수 있습니다. 모든 앱 서버는 보호해야 할 조치를 진행하기 전에 티켓을 해독하려고 시도하거나 해시 일치하는지 확인하여 티켓을 확인하여 티켓을 확인합니다. 이것이 웹 앱이라면 쿠키는 티켓을 보관하기에 좋은 장소입니다.

다른 팁

클라이언트/서버 이외의 아키텍처에 대해 많이 말하지 않았으므로 Vs의 Windows Forms와 같은 일종의 양식 디자이너를 사용하고 있다고 가정합니다. 이 경우 나는 쉽고 설정하기가 쉽고 합리적으로 안전하기 때문에 항상 어떤 형태의 데이터베이스 테이블 인증을 사용했습니다. 당신은 많은 소란없이 이런 식으로 그룹과 역할을 설정할 수도 있습니다.

Table:  Users
Fields: UserID   PK
        Login    Text
        Password Text
        ...

Table:  Roles
Fields: RoleID   PK
        Role     Text
        ...

Table:  UserRoles
Fields: UserID    FK
        RoleID    FK
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top