2011-02-09 3 views
4

사용자가 역할에 참여하고 역할에 따라 다른 권한이 부여되어야하는 웹 응용 프로그램에서 작업하고 있습니다. 이것은 폼 인증과 SqlRoleProvider를 사용하여 쉽게 수행 할 수 있습니다. 그러나 응용 프로그램은 회사 인트라넷에서 내부적으로 사용되며 양식 인증을 사용하면 응용 프로그램을 사용하려고 할 때마다 수동으로 로그인해야합니다. Windows 통합 자동 인증은 사용자가 이미 회사 도메인에 로그온되어 있기 때문에 훨씬 우아 해 보입니다. 그러나 여기에 역할에 문제가 있습니다. 통합 인증은 기본적으로 사용자 Windows 계정 (그룹 구성원 등)에 빌드 된 역할을 사용합니다. 내 응용 프로그램에서는 사용자를 사용자 지정 역할에 배치해야합니다. 그래서 역할에 관한 한 데이터베이스 제어는 훨씬 유리한 해결책입니다. SqlRoleProvider (역할 및 사용자 관리 용)와 함께 Windows 통합 인증 (인증 용)을 사용할 수 있습니까?Silverlight 응용 프로그램에서 SqlRoleProvider와 Windows 통합 인증 사용

+4

여기는 IMO가 아니라 여기에있는 StackOverflow에 속합니다. –

답변

3

BenCr는 권리입니다. 그러나 내 자신의 역할 공급자를 만드는 것을 피하고 싶었고 사용자를 쉽게 추가 할 수 있기를 원했습니다. (Visual Studio 기본 제공 ASP.NET 구성 도구를 통해)

그래서 저는 이것을 인터넷에서 발견했으며 작동합니다. 그것은 내가 생각했던 것보다 훨씬 단순 해졌다. 웹 구성 파일에서 역할을 사용하도록 설정하고 Windows 통합 인증과 함께 사용하면됩니다. 로컬 mdf 파일을 복사하고 SQL 서버에 연결하면 작동합니다.

http://weblogs.asp.net/scottgu/pages/Recipe_3A00_-Implementing-Role_2D00_Based-Security-with-ASP.NET-2.0-using-Windows-Authentication-and-SQL-Server.aspx

+0

당신이 옳습니다. 왜냐하면 자체 공급자를 만들 필요가 없었기 때문입니다. 그는 SqlRolesProvider가하는 일을 거의 수행 할 것입니다. chare te 링크 훌륭한 기사 덕분에! –

4

응용 프로그램에서이 작업을 정확하게 수행 했으므로 RoleProvider를 직접 작성한 다음 web.config에 지정해야합니다. 그런 다음 원하는 소스에서 역할을로드 할 수 있습니다.

<roleManager enabled="true" defaultProvider="MyRoleProvider"> 
    <providers> 
     <clear /> 
     <add name="MyRoleProvider" type="MyCompany.MyRoleProvider, MyAssembly" /> 
    </providers> 
</roleManager> 

RoleProvider http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.aspx

+0

당신이 맞다. 그러나 grabah가 지적한 것처럼 SQL Server에 역할 정보를 저장하려는 경우 기본 SqlRolesProvider를 사용할 수 있습니다.) –

관련 문제