Nasıl yapılır: ASP.NET Rol Sağlayıcısını Bir Hizmetle Kullanma
ASP.NET rol sağlayıcısı (ASP.NET üyelik sağlayıcısıyla birlikte), ASP.NET geliştiricilerin kullanıcıların bir siteyle hesap oluşturmasına ve yetkilendirme amacıyla rollere atanmasına olanak tanıyan Web siteleri oluşturmasına olanak tanıyan bir özelliktir. Bu özellik sayesinde, herhangi bir kullanıcı siteyle bir hesap oluşturabilir ve siteye ve hizmetlerine özel erişim için oturum açabilir. Bu, kullanıcıların bir Windows etki alanında hesap sahibi olmasını gerektiren Windows güvenliğinin aksinedir. Bunun yerine, kimlik bilgilerini sağlayan tüm kullanıcılar (kullanıcı adı/parola bileşimi) siteyi ve hizmetlerini kullanabilir.
Örnek uygulama için bkz . Üyelik ve Rol Sağlayıcısı. ASP.NET üyelik sağlayıcısı özelliği hakkında daha fazla bilgi için bkz . Nasıl yapılır: ASP.NET Üyelik Sağlayıcısı'nı kullanma.
Rol sağlayıcısı özelliği, kullanıcı bilgilerini depolamak için bir SQL Server veritabanı kullanır. Windows Communication Foundation (WCF) geliştiricileri bu özelliklerden güvenlik amacıyla yararlanabilir. Bir WCF uygulamasıyla tümleştirildiğinde, kullanıcıların WCF istemci uygulamasına bir kullanıcı adı/parola bileşimi sağlaması gerekir. WCF'nin veritabanını kullanmasını sağlamak için sınıfının bir örneğini ServiceAuthorizationBehavior oluşturmanız, özelliğini olarak UseAspNetRolesayarlamanız PrincipalPermissionMode ve örneği hizmeti barındıran davranış koleksiyonuna ServiceHost eklemeniz gerekir.
Rol sağlayıcısını yapılandırma
Web.config dosyasındaki öğesinin <
system.web
> altına bir <>roleManager
öğe ekleyin ve özniteliğinienabled
olaraktrue
ayarlayın.özniteliğini
defaultProvider
olarakSqlRoleProvider
ayarlayın.öğesinin alt öğesi <
roleManager
> olarak bir <providers
> öğe ekleyin.öğesinin <
providers
> alt öğesi olarak, aşağıdaki öznitelikleri uygun değerlere ayarlanmış bir <>add
öğe ekleyin:name
,type
,connectionStringName
ve , ,applicationName
aşağıdaki örnekte gösterildiği gibi.<!-- Configure the Sql Role Provider. --> <roleManager enabled ="true" defaultProvider ="SqlRoleProvider" > <providers> <add name ="SqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="SqlConn" applicationName="MembershipAndRoleProviderSample"/> </providers> </roleManager>
Hizmeti rol sağlayıcısını kullanacak şekilde yapılandırma
Web.config dosyasına bir <system.serviceModel> öğesi ekleyin.
öğesine bir <behaviors> öğesi <
system.ServiceModel
> ekleyin.öğesine serviceBehaviors <><>
behaviors
ekleyin.Bir <davranış> öğesi ekleyin ve özniteliğini
name
uygun bir değere ayarlayın.öğesine serviceAuthorization <><>
behavior
ekleyin.özniteliğini
principalPermissionMode
olarakUseAspNetRoles
ayarlayın.özniteliğini
roleProviderName
olarakSqlRoleProvider
ayarlayın. Aşağıdaki örnekte yapılandırmanın bir parçası gösterilmektedir.<behaviors> <serviceBehaviors> <behavior name="CalculatorServiceBehavior"> <serviceAuthorization principalPermissionMode ="UseAspNetRoles" roleProviderName ="SqlRoleProvider" /> </behavior> </serviceBehaviors> </behaviors>