Inside NBear Starter Kit (二) 不使用附带数据库的安装方法

   具体常规的安装方法我这里就不描述了,方法见我的上一篇文章Inside NBear Starter Kit (一) 安装配置,里面有详细的介绍。我下面要说的是在不使用NBear Starter Kit 自带数据库的安装方法。下面开始:
一:建立基本的数据库
   修改NBear.design里面的LiEntities.cs文件,给每个Interface都添加一个[ReadOnly]属性,这样防止数据库被覆盖。修改完代码如下

 1 using  System;
 2 using  NBear.Common.Design;
 3
 4 namespace  NBear.Designs
 5 {
 6  [MappingName("nb_Articles")]
 7  [ReadOnly]
 8  public interface nb_Articles_List_0 : Entity
 9  {
10    [PrimaryKey]
11    int Id get; }
12    int Sort_Id get; }
13    [SqlType("nvarchar(128)")]
14    string Title getset; }
15    DateTime UpdateTime getset; }
16    DateTime CreateTime getset; }
17  }

18  [MappingName("nb_PageParts")]
19  [ReadOnly]
20  public interface nb_PageParts_List_0 : Entity
21  {
22    [PrimaryKey]
23    int Id get; }
24    [SqlType("nvarchar(128)")]
25    string Title getset; }
26  }

27  [MappingName("vw_aspnet_MembershipUsers")]
28  [ReadOnly]
29  public interface nb_Users_List_0 : Entity
30  {
31    [PrimaryKey]
32    Guid UserId getset; }
33    string UserName getset; }
34    string Email getset; }
35    DateTime CreateDate getset; }
36  }

37}

二:建立NBear Starter Kit里面的Membership Roles 等用户认证和权限管理需用数据库。   
   这个数据库的建立要用到一个工具aspnet_regsql.exe,DotNet 自带的。假设你DotNet Framework 安装到默认的路径,那么她的地址是C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727。直接运行她,出现向导(会先闪过一个command),根据向导,选择咱们自建的那个Nbear_Web数据库就ok了,现在在数据库中就添加了一系列的aspnet开头的表、视图和存储过程。
三:修改pageparts.ascx.cs的代码。
   这个是因为NBear Starter Kit作为一个示例,没有考虑太多的通用性,在首页对pagepart的调用都是直接指定ID,如果用自己建立的数据库就会找不到或者找错ID造成错误,我把他的代码修改,增加了容错性能,防止错误的发生。
 1 using  System;
 2
 3 public  partial  class  UserControls_Common_PageParts : System.Web.UI.UserControl
 4 {
 5  // ******************************************************************************************************
 6  public int PagePartId;
 7  // ******************************************************************************************************
 8  protected void Page_Load(object sender, EventArgs e)
 9  {
10    if (IsPostBack) return; }
11    BindData();
12  }

13  // ******************************************************************************************************
14  protected void BindData()
15  {
16      try
17      {
18          ltlHtml.Text = (Page as BasePage).PagePartsDic[PagePartId].Replace("{RootPath}", (Page as BasePage).RootPath);
19      }

20      catch
21      {
22          ltlHtml.Text = "暂时没有内容";
23      }

24      finally
25      {
26      }

27  }

28  // ******************************************************************************************************
29}
   虽然现在的通用性还是很低,我会进一步修改,增加通用性的,准备把她做成一个通用性高点的程序。
四:修改web.config里面的关于role membership等想过块的内容,以便让自己可以登录进去
   因为是自己建立的数据库,原先的那些附带的用户名和密码都已经无效了。要管理就要先自己建立用户,那么就需要修改web.config的内容,把她的基于forms base的认证方式给换一下,改成none。
   我们需要修改的web.config有三个,下面给出路径和修改内容的代码
   默认的web.config
   
         <!--  authentication  -->
        
< authentication  mode ="None" >
            
< forms  loginUrl ="~/Login.aspx"  name ="Nbear_FormsAUTH"  protection ="All"  timeout ="20160" />
        
</ authentication >

   Admin目录下面的Web.config
<? xml version="1.0" ?>
< configuration >
  
< system .web >
    
< authorization >
      
< allow  roles ="Administrators" />
      
< allow  roles ="Super Users" />
      
<!--
      <deny users="*"/>  
      
-->
      
< allow  users ="?" >
    
</ authorization >
  
</ system.web >
</ configuration >
   Admin目录下面的Users目录下面的Web.config
<? xml version="1.0" ?>
< configuration >
  
< system .web >
    
< authorization >
      
< allow  roles ="Administrators" />
      
<!--
      <deny users="*"/>  
      
-->
      
< allow  users ="?" >
    
</ authorization >
  
</ system.web >
</ configuration >
   现在你就可以再不输入密码的情况下任意的穿梭管理啦。
五:添加ManageRoles.aspx文件,添加Roles
   这个我已经给出了,主要是添加系统默认的两个Roles Administrators和Super Users,这样才能让你该会原来web.config的时候也可以有权利访问Admin和Users目录。具体的原因可以参考asp.net 2.0的新特性 苏鹏讲的webcast的第六节课,asp.net 2.0 内建安全机制。代码包含在最后上传的代码中。
六:修改AdminMenu.ascx,添加manageroles.aspx的选项
   
<% @ Control Language="C#" AutoEventWireup="true" CodeFile="AdminMenu.ascx.cs" Inherits="UserControls_Common_Menu"  %> < ul  id ="AdminMenu" >
< li  class ="Ornament" > &nbsp; </ li >
< li >< asp:HyperLink  ID ="SaveArticle"  runat ="server"  Text ="添加文章"  NavigateUrl ="~/Admin/Modules/Articles/Save.aspx" ></ asp:HyperLink ></ li >
< li >< asp:HyperLink  ID ="ManageArticles"  runat ="server"  Text ="管理文章"  NavigateUrl ="~/Admin/Modules/Articles/Manage.aspx" ></ asp:HyperLink ></ li >
< li >< asp:HyperLink  ID ="SavePagePart"  runat ="server"  Text ="添加网页片"  NavigateUrl ="~/Admin/Modules/PageParts/Save.aspx" ></ asp:HyperLink ></ li >
< li >< asp:HyperLink  ID ="ManagePageParts"  runat ="server"  Text ="管理网页片"  NavigateUrl ="~/Admin/Modules/PageParts/Manage.aspx" ></ asp:HyperLink ></ li >
< li >< asp:HyperLink  ID ="ManageSorts"  runat ="server"  Text ="管理分类"  NavigateUrl ="~/Admin/Modules/Sorts/Manage.aspx" ></ asp:HyperLink ></ li >
< li >< asp:HyperLink  ID ="SaveUser"  runat ="server"  Text ="添加用户"  NavigateUrl ="~/Admin/Modules/Users/SaveUser.aspx" ></ asp:HyperLink ></ li >
< li >< asp:HyperLink  ID ="ManageUsers"  runat ="server"  Text ="管理用户"  NavigateUrl ="~/Admin/Modules/Users/ManageUsers.aspx" ></ asp:HyperLink ></ li >
< li >< asp:HyperLink  ID ="ManageRoles"  runat ="server"  Text ="管理规则"  NavigateUrl ="~/Admin/Modules/Users/ManageRoles.aspx" ></ asp:HyperLink ></ li >
< li >< asp:LoginStatus  ID ="LoginStatus1"  runat ="server"  LogoutText ="Logout"  LogoutPageUrl ="~/"   /></ li >
</ ul >
七:进入管理,添加Pageparts
   需要添加两个,下面是给出的标题和代码
   Default Page Top
< div  style ="BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 1px solid" >
< p >< strong > Welcome to NBear WebSite </ strong ></ p >
</ div >
   LeftMenu
< div  class ="LeftMenu" >
< div  class ="Caption" >< a ></ a > 导航|NAVIGATION </ div >
< ul >
    
< li >< href ="{RootPath}Modules/Articles/List.aspx?i=2" > 新闻|NEWS </ a >   </ li >
    
< li >< href ="{RootPath}Modules/Articles/List.aspx?i=1" > 下载|DOWNLOD </ a >   </ li >
</ ul >
</ div >
< br  />
< div  class ="LeftMenu" >
< div  class ="Caption" > 链接|LINKS </ div >
< ul >
    
< li >< target ="_blank"  href ="http://nbteam.cnblogs.com/" > 团队博客|Team Blog </ a >   </ li >
    
< li >< target ="_blank"  href ="http://groups.google.com/group/nbeargroup" > 论坛|Google Group </ a >   </ li >
</ ul >
</ div >
八:添加Roles
   在manageroles.aspx里面添加roles Administrator和Super Users就oK了。
  
    经过以上8个步骤,现在的NBear Starter Kit已经可以运行,并且有了和导入数据库差不多的功能,当然还有瑕疵,这个以后慢慢修改。

   下面是代码下载(因为有上传限制,分为三卷):
    http://www.cnblogs.com/Files/pinzui/NBearPinzui.part01.rar
    http://www.cnblogs.com/Files/pinzui/NBearPinzui.part02.rar
    http://www.cnblogs.com/Files/pinzui/NBearPinzui.part03.rar
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值