zoukankan      html  css  js  c++  java
  • ASP.NET Club Web Site Starter Kit扩展之一

       ASP.NET Club Web Site Starter Kit的使用很简单,功能也很强大,因此许多ASP.NET的初学者直接就拿来作为自己网站的组成部分。
        由于个人网站一般都使用的是虚拟主机,而且使用服务器提供的SQL Server2000数据库,那么在运行Club Web Site时,就需要在该SQL Server2000数据库里建立“成员-角色”等一些列表。
      但是即使你建立了这些表,在运行时仍然会发生错误,因为ASP.NET2.0 的Club Web Site Starter Kit默认使用内置的成员-角色,这样,当在代码里使用 Roles,Membership这类的方法时,你将发现Roles方法无法执行某些方法。
    例如Club Web Site Starter Kit 的Global.asax里有如下一句代码:

    <%@ Application Language="C#" %>

    <script runat="server">

     void Application_Start(object sender, EventArgs e) {
      if (!Roles.RoleExists("Administrators")) Roles.CreateRole("Administrators");
     }
     
    </script>

    它表示初次运行时,需要在数据库里建立Administrators角色。
    但是在执行Roles方法时,系统需要额外的权限来检测你的数据库设计是否符合执行某些SQL语句的权限。
    如果你的帐户在使用SQL Server 2000具有dbo权限,那么你可以没有障碍的运行。但是一般服务商只允许你对数据库仅具有 读/写的权限,那么这时就出现上述的错误。

    解决方案可以有如下两个办法
    1)要求你的数据库服务商给你更多的权限。这是最简单的解决方法。你不需要更改任何设置,只要它给你一定权限即可解决。
    2)自定义数据库Provider模型 
        如果数据库服务商不愿意给你更多的权限,那么我们只能自己解决。既然是ASP.NET2.0内置的功能需要SQL Server2000更多的权限,那么我们可以不用该内置的功能,而是使用自定义“成员-角色”Provider模型。这样所有的工作都在我的控制中,其中你也会看到ASP.NET2.0设计体系是多么的灵活,多容易的扩展。

    本文源代码附带了天天经过扩展的Club Web Site Starter Kit。
    单击下载该源代码,解压后,直接用VS.NET2005打开即可。
    /Files/mqingqing123/Cws2.rar
    (运行源代码后,你会发现系统使用了user,roles,userrole存放用户和角色,此处的扩展我主要实现了注册部分,其它的你可以继续扩展)

  • 相关阅读:
    mysql锁 实战测试代码
    Memcache教程 Memcache零基础教程
    Moneybookers API支付方式开发 步骤
    dede判断当前文章
    Windows下的Memcache安装 linux下的Memcache安装
    Ecshop:后台添加新功能栏目以及管理权限设置
    解决echsop兼容jquery(transport.js的冲突)的问题
    PHP AJAX JSONP实现跨域请求使用实例
    shell基础 -- 基本语法
    神器之strace
  • 原文地址:https://www.cnblogs.com/mqingqing123/p/480065.html
Copyright © 2011-2022 走看看