小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

asp.net2.0 站點(diǎn)登錄,導(dǎo)航與權(quán)限管理_ASP.NET_小蟲網(wǎng)絡(luò)技術(shù)學(xué)院

 荷露叮咚 2007-05-25

asp.net2.0 站點(diǎn)登錄,導(dǎo)航與權(quán)限管理

 

(一)登錄

    asp.net 2.0中,新增了許多新的功能和控件。其中,新增的登陸控件可謂使得WEB應(yīng)用的設(shè)計(jì)更加得心應(yīng)手。什么是登陸控件呢?就是我們平常在WEB應(yīng)用中經(jīng)常要用到的用戶注冊(cè),登陸,忘記密碼,登陸后根據(jù)權(quán)限的不同而顯示不同的頁面等功能,現(xiàn)在在asp.net 2.0中都已經(jīng)可以由提供的控件來實(shí)現(xiàn)了。

  asp.net 2.0中,為了更方便創(chuàng)建和管理用戶,以及對(duì) Web 應(yīng)用程序中的頁進(jìn)行密碼保護(hù),引進(jìn)了新的框架membership。新的框架包含用于處理身份驗(yàn)證和授權(quán)的新增功能,能夠同時(shí)滿足 Web 站點(diǎn)管理員和開發(fā)人員的需要。Web 站點(diǎn)管理員可以利用新的 Web 站點(diǎn)管理工具來創(chuàng)建新的用戶和角色,以及控制對(duì) Web 應(yīng)用程序中頁面的訪問。Web 站點(diǎn)管理工具是一組預(yù)先編寫的 ASP.NET頁,不具備編程技巧的用戶可以使用它們來配置 Web 應(yīng)用程序。利用membership API,編程人員可以很方便地使用拖拉控件的方法,再加以少量的代碼,就可以完全實(shí)現(xiàn)對(duì)用戶,角色權(quán)限等的管理,還可以自定義做擴(kuò)充。

1.建立網(wǎng)站項(xiàng)目

2.ASP.NET配置      

     安全設(shè)置選項(xiàng)被分為三部分:用戶,角色和規(guī)則。

   登錄的身份驗(yàn)證可以配置為基于Forms和Windows的。

3.使用登錄控件

說明:用戶登錄后,顯示“退出”的提示,通過LoginStatus控件來實(shí)現(xiàn)。在控件的屬性中,有LogoutActionLogoutPageUrl兩個(gè)屬性,可以來設(shè)定注銷時(shí)是僅僅刷新當(dāng)前頁面、轉(zhuǎn)向到某個(gè)頁面或者轉(zhuǎn)向到登錄頁面。

如何設(shè)定LoginPageUrl(登錄的頁面),運(yùn)行程序時(shí),當(dāng)按這個(gè)控件的顯示的Login鏈接時(shí),總是轉(zhuǎn)到根文件夾下的Login.aspx,而實(shí)際的登錄文件在/Login/Login.aspx 。如何解決?

查了下資料,原來登錄的Url是在web.config中設(shè)置的。如果是用Form驗(yàn)證登錄,缺省的web.config是這樣寫的:
 
<system.web>
   <authentication mode="Forms" />
</system.web>
 
需要修改成如下的樣子:
 
<system.web>
   <authentication mode="Forms">
   <forms loginUrl="~/member/login.aspx"></forms>
 </authentication>
</system.web>

(二)站點(diǎn)導(dǎo)航

1.三種導(dǎo)航控件

   Menu:使用一菜單顯示站點(diǎn)的結(jié)構(gòu)。

   TreeView:用一個(gè)可展開的樹顯示站點(diǎn)的結(jié)構(gòu)

   SiteMapPath:用于顯示終端用戶處于相對(duì)于站點(diǎn)結(jié)構(gòu)的具體位置

2.Web.sitemap  導(dǎo)航XML文件

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
  <siteMapNode title="首頁" url="SiteMapTest.aspx" >
    <siteMapNode title="產(chǎn)品" roles="*">
      <siteMapNode title="Windows" url="SiteMapTest.aspx?id=windows" />
      <siteMapNode title="Office" url="SiteMapTest.aspx?id=office" />
      <siteMapNode title="Mobile Devices" url="SiteMapTest.aspx?id=mobile" />
      <siteMapNode title="Business Solutions" url="SiteMapTest.aspx?id=business" />
      <siteMapNode title="Servers" url="SiteMapTest.aspx?id=servers" />
      <siteMapNode title="Developer Tools" url="SiteMapTest.aspx?id=tools" />
      <siteMapNode title="Games and XBox" url="SiteMapTest.aspx?id=games" />
      <siteMapNode title="All Products" url="SiteMapTest.aspx?id=all" />
    </siteMapNode>
    <siteMapNode title="資源" roles="*">
      <siteMapNode title="支持" roles="*">
        <siteMapNode title="修改密碼" url="~/Login/ChangePassword.aspx" />
        <siteMapNode title="Knowledge Base" url="SiteMapTest.aspx?id=knowledge" />
      </siteMapNode>
      <siteMapNode title="Downloads" url="SiteMapTest.aspx?id=downloads" />
      <siteMapNode title="Windows Update" url="SiteMapTest.aspx?id=windowsupdate" />
      <siteMapNode title="Office Update" url="SiteMapTest.aspx?id=officeupdate" />
      <siteMapNode title="Learning Tools">
        <siteMapNode title="Training & Certification" url="SiteMapTest.aspx?id=training" />
        <siteMapNode title="Books" url="SiteMapTest.aspx?id=books" />
        <siteMapNode title="Events & Webcasts" url="SiteMapTest.aspx?id=events" />
        <siteMapNode title="Patterns & Practices" url="SiteMapTest.aspx?id=patterns" />
      </siteMapNode>
      <siteMapNode title="Community" url="SiteMapTest.aspx?id=community" />
      <siteMapNode title="Security" url="SiteMapTest.aspx?id=security" />
    </siteMapNode>
    <siteMapNode title="RSS" roles="*">
      <siteMapNode title="公司關(guān)系" url="SiteMapTest.aspx?id=relations"  />
      <siteMapNode title="RSSSite" url="~/RSS/RSSSite.aspx" />
      <siteMapNode title="Careers" url="SiteMapTest.aspx?id=careers" />
      <siteMapNode title="About this Site" url="SiteMapTest.aspx?id=about" />
    </siteMapNode>
  </siteMapNode>
</siteMap>

Web.sitemap文件必須包含根結(jié)點(diǎn)sitemap。一張站點(diǎn)地圖由一系列相聯(lián)系的SiteMapNode對(duì)象組成。這些SiteMapNode以一種層次方式聯(lián)系在一起。該層次包含單個(gè)根結(jié)點(diǎn)-它是該層中唯一的一個(gè)沒有父結(jié)點(diǎn)的結(jié)點(diǎn),代表首頁。在該父sitemapnode結(jié)點(diǎn)下,可以有若干個(gè)子sitemapnode結(jié)點(diǎn),分別按層次結(jié)構(gòu)代表了網(wǎng)站的各子欄目(留意一下上例中,各個(gè)子結(jié)點(diǎn)之間的包含關(guān)系)

3. 數(shù)據(jù)源SiteMapDataSource控件

SiteMapDataSource會(huì)自動(dòng)查找項(xiàng)目中名為Web.sitemap 一個(gè)XML文件

(三)權(quán)限管理

    網(wǎng)站在安全性方面有一個(gè)常見的要求:特定的頁面僅允許某些成員或其他經(jīng)過身份驗(yàn)證的用戶瀏覽。ASP.NET 的角色管理提供了一種方法,可以基于安全角色限制對(duì) Web 文件的訪問。站點(diǎn)地圖安全性調(diào)整提供了一種同樣基于安全角色的方法來隱藏站點(diǎn)地圖中的導(dǎo)航鏈接。

1. ASP.NET 網(wǎng)站配置

1)提供程序

    可使用 SQL SERVER 2005(默認(rèn)),2000和Access數(shù)據(jù)庫(kù)存儲(chǔ)用戶信息。

若要使用 SQL SERVER 2000數(shù)據(jù)庫(kù)存儲(chǔ)信息:

a.SQL Server的企業(yè)管理器,創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),如為zyh;

b.aspnet_regsqlC:\Windows\Microsoft.Net\Framework\v2.0.50215\aspnet_regsql.exe)創(chuàng)建數(shù)據(jù)庫(kù)。除在創(chuàng)建向?qū)У牡?/span>3步數(shù)據(jù)庫(kù)下拉框選擇“zyh”以外,其余各步驟皆使用默認(rèn)設(shè)置。這樣,在Sql Server 2000中會(huì)創(chuàng)建一個(gè)含有用戶表和存貯過程的完整數(shù)據(jù)庫(kù)。

 

c.在管理工具中打開IIS,找到虛擬目錄newtest,用鼠標(biāo)右鍵點(diǎn)擊,然后左鍵點(diǎn)菜單項(xiàng)【屬性】、【ASP.NET】標(biāo)簽、【編輯配置】按鈕,在【常規(guī)】標(biāo)簽的【連接字符串管理器】中,點(diǎn)名稱【LocalSqlServer】,點(diǎn)【編輯】按鈕,把【連接參數(shù)】修改為相應(yīng)能夠連接到數(shù)據(jù)庫(kù)zyh的數(shù)據(jù)庫(kù)連接字符串,如“Data Source=.;Initial Catalog=zyh;Persist Security Info=True;User ID=sa;Password=12345,此后,一直點(diǎn)【確定】按鈕,最后到IIS管理工具界面即可。

 

d.最后返回網(wǎng)站管理工具Web頁面,點(diǎn)擊安全主題,就會(huì)出現(xiàn)“使用安全設(shè)置向?qū)О床烤桶嗟嘏渲冒踩浴?#8221;鏈接和其它相關(guān)鏈接。

2)安全設(shè)置選項(xiàng)被分為三部分:用戶,角色和規(guī)則。

    其中規(guī)則建立了角色對(duì)項(xiàng)目中文件夾的訪問權(quán)限。

3)應(yīng)用程序配置

  可設(shè)置SMTP服務(wù)器 以供用戶通過email找回密碼。

2. 建立登錄頁面

3.在Web.config文件中啟用角色管理

<system.web>
    <siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
      <providers>
        <add name="XmlSiteMapProvider"
          description="Default SiteMap provider."
          type="System.Web.XmlSiteMapProvider "
          siteMapFile="Web.sitemap"
          securityTrimmingEnabled="true" />
      </providers>
    </siteMap>

    <roleManager enabled="true" />
   
    <authentication mode="Forms">
      <forms loginUrl="~/Login/login.aspx"></forms>
    </authentication>
   
    <compilation debug="true">
      <assemblies>
        <add assembly="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>
  </system.web>
  <system.net>
    <mailSettings>
      <smtp from="wangyihust@163.com">
        <network host="smtp.163.com" password="passwordModify" userName="wangyihust" />
      </smtp>
    </mailSettings>
  </system.net>

4.在Web.sitemap 文件中 加入角色權(quán)限,以顯示或隱藏相關(guān)頁面

 <siteMapNode title="RSS" roles="*">
      <siteMapNode title="公司關(guān)系" url="SiteMapTest.aspx?id=relations"  />
      <siteMapNode title="RSSSite" url="~/RSS/RSSSite.aspx" />
      <siteMapNode title="Careers" url="SiteMapTest.aspx?id=careers" />
      <siteMapNode title="About this Site" url="SiteMapTest.aspx?id=about" />
    </siteMapNode>

其中,roles="*"表示所有人都可以看到下面的頁面,但是我們?cè)谝?guī)則中可以拒絕某些 角色的用戶看到下面的相關(guān)頁面(通過目錄權(quán)限控制)

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多