利用net本身的角色类生成角色(Roles)

来源:互联网 发布:微博淘宝优惠券安全吗 编辑:程序博客网 时间:2024/05/05 19:52

利用微软的角色类生成角色信息,可以方便的对网页访问进行控制。直接在webconfig是配置就可以了。

如下配置

<connectionStrings>    <add     name="SqlBaseServer"     connectionString="server=PC201509152;uid=;pwd=;database=aspnetdb;"     providerName="System.Data.SqlClient"/>    <add     name="SqlServer"     connectionString="server=PC201509152;database=Products;uid=;pwd="     providerName="System.Data.SqlClient"/>  </connectionStrings>
上面的SqlBaseServer连接是生成Role类的。因此需要指定它的使用数据库。

在system.web节点内写入以下配置.它是说明使用角色管理时,使用下面的数据存储。

<roleManager enabled="true" cookieTimeout="15" defaultProvider="SqlProvider">      <providers>        <add            name="SqlProvider"            type="System.Web.Security.SqlRoleProvider"            connectionStringName="SqlBaseServer"            applicationName="/" />      </providers>    </roleManager>
下面的就重要了。可以通过配置来限制访问。下面的代码的意思是采用窗体验证,拒绝任何没有经过验证的访问。

 <authentication mode="Forms"/>    <authorization>      <deny users="?"/>    </authorization>
另外也可以在<configSections>节点内,指定某个页面能被某角色访问。adimn.aspx就只能被系统管理角色访问,其它用户都不能访问。

 <location path="Admin.aspx">    <system.web>      <authorization>        <allow roles="sysadmin"/>        <deny roles="*"/>      </authorization>    </system.web>  </location>

在最初使用时,由于没有数据库,因此需要执行一个工具。

在数据库中运行一些存储过程。这个存储过程是本来没有的。执行下面的程序。会生成一个aspnetdb的数据库。C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe

说明:无论是3.0还是3.5,都直接运行2.0中的应用程序。





0 0