Используя роли в Asp.Net MemeberShip? - PullRequest
1 голос
/ 29 июня 2011

Ну, вопрос прост.

как я могу использовать роли в членстве asp.net,

я знаю, что могу сделать что-то подобное:

<authorization>
<allow roles="Admin"/> //Allows users in Admin role

<deny users="*"/> // deny everyone else
</authorization>

</system.web>
</location>

но где я могу сказать, что пользователь 'admin' - это роль: Admin ..?

Ответы [ 2 ]

1 голос
/ 30 июня 2011

Это всего лишь верхушка айсберга. Вам нужны поставщики членства и ролей ASP.Net, а также несколько настроек. Вы можете реализовать своих собственных провайдеров, но их проще использовать по умолчанию.

http://www.codeproject.com/KB/aspnet/SQL-Membership.aspx

http://odetocode.com/articles/427.aspx

<system.web>

    <membership>
        <providers>
            <remove name="AspNetSqlMembershipProvider"/>
            <add applicationName="YOURAPPNAME" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ASPNETDBConnectionString" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
        </providers>
    </membership>
    <roleManager enabled="true" cacheRolesInCookie="false">
        <providers>
            <remove name="AspNetSqlRoleProvider"/>
            <add applicationName="YOURAPPNAME" connectionStringName="ASPNETDBConnectionString" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
        </providers>
    </roleManager>

</system.web>
1 голос
/ 29 июня 2011

Вам необходим RoleProvider http://msdn.microsoft.com/en-us/library/8fw7xh74.aspx

Если вы используете проверку подлинности Windows, роли будут вашими группами AD.

Если вы используете проверку подлинности с помощью формы, вы можете реализовать свою собственнуюRoleProvider или используйте поставщик ролей SQL.

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

...