嗯,问题很简单。
我如何在asp.net memebership中使用角色,
我知道我可以这样做:
<authorization>
<allow roles="Admin"/> //Allows users in Admin role
<deny users="*"/> // deny everyone else
</authorization>
</system.web>
</location>
但是,我在哪里可以说用户'admin'是Role:Admin ..?
答案 0 :(得分:1)
您需要拥有RoleProvider http://msdn.microsoft.com/en-us/library/8fw7xh74.aspx
如果您使用的是Windows身份验证,则角色将是您的AD群组。
如果您使用的是表单身份验证,则可以实现自己的RoleProvider或使用SQL Role Provider。
http://msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx
答案 1 :(得分:1)
这只是冰山的一角。您需要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>