2014-05-19 2 views
2

다른 클라이언트의 여러 응용 프로그램에서 사용할 중앙 로그인 데이터베이스를 만들고 싶습니다. ASP Identity 사용 사용자 및 역할의 데이터베이스를 설정했습니다.ASP.Net Identity - 다양한 응용 프로그램을위한 중앙 사용자 데이터베이스?

다른 응용 프로그램마다 역할이 다르므로 추가로 나눠 줄 필요가 있습니다. 예 : 사용자는 한 앱에서 관리자가 될 수 있으며 다른 앱에서는 관리자가 될 수 없습니다.

ASP ID를 사용하여이를 수행 할 수있는 방법이 있습니까? 이상적으로 특정 사용자가 액세스 할 수있는 앱을 제어하고 이러한 앱에 연결된 개별 역할을 갖고 싶습니다.

이 항목이 ASP ID의 범위를 벗어나는 경우 ASP.NET C# MVC 웹 응용 프로그램에서 사용할 대상을 식별해야합니다.

답변

2

사용자는 여러 역할에 속할 수 있으므로 구성원 역할을 모든 역할에 적용하고 반복하여 특정 역할에 속하는지 확인하십시오. 각 애플리케이션 (예 : AppOneAdmin, AppTwoAdmin)에 대한 역할 (권한)을 만들고 각 사용자에게 사용자 권한을 할당 할 수 있습니다. 기본적으로 처리하지 않는 경우 사용자 지정 멤버 자격 공급자를 구현하고 해당 역할을 직접 확인하는 논리를 작성해야합니다.

0

클라이언트와 완전히 독립적 인 "중앙 로그인 데이터베이스"를 만들고 싶다면 아마 몇 개의 SQL 데이터베이스 테이블을 원할 것입니다. (이 초기 작업이 될 것입니다하지만 당신에게 전진 가장 유연성을 줄 것이다)

TABLE1

SYSTEM_ID |  USER_ID  | PWD  | ROLE 
-------------+-----------------+--------------+---------- 
somesys  |  4544345  | ENCRYPTEDPWD | ROLENAME1 
someothersys |  4544345  | ENCRYPTEDPWD | ROLENAME2 

을 TABLE2

SYSTEM_ID |  ROLE  | PERMIT_TYPE 
-------------+-----------------+---------------- 
somesys  |  ROLENAME1 |  READ 

당신은 두 개의 쿼리 (여기를 밖으로 분할에 참여합니다 읽기 쉬움) :

  1. 사용자 인증 (USER_ID = '4544345'및 PWD = 'ENCRYPTEDPWD'인 Table1의 'ROLE'선택).

    은 가입

  2. 권한 (SYSTEM_ID, PERMIT_TYPE을 선택 얻을 경우 1 쿼리 역할의 = '역할'()

관련 문제