asp.net下xml當(dāng)作導(dǎo)航數(shù)據(jù)源實現(xiàn)動態(tài)權(quán)限
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml;
using System.IO;
namespace Root
{
public partial class WebUserControl1 : System.Web.UI.UserControl
{
XmlDocument x = new XmlDocument();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
XMLOperator();
}
}
/// <summary>
/// XML操作
/// </summary>
private void XMLOperator()
{
XMLLoad();
string str = "<table><tr><td>";
foreach (XmlNode xn in x.ChildNodes)
{
foreach (XmlNode xn1 in xn.ChildNodes)
{
str += xn1.Attributes["text"].Value;
str += "</td></tr>";
foreach (XmlNode xn2 in xn1.ChildNodes)
{
str += "<tr><td>";
str += xn2.Attributes["text"].Value;
str += "</td></tr>";
}
}
}
str += "</table>";
Response.Write(str);
}
/// <summary>
/// 加載XML文檔
/// </summary>
private void XMLLoad()
{
x.Load(Server.MapPath("~/Left.xml"));
}
/// <summary>
/// 讀取XML內(nèi)容
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
private DataSet ReadXml(string path)
{
DataSet ds = new DataSet();
FileStream fs = null;
StreamReader reader = null;
try
{
fs = new FileStream(path, FileMode.Open, FileAccess.Read);
reader = new StreamReader(fs, System.Text.Encoding.UTF8);
ds.ReadXml(reader);
return ds;
}
finally
{
fs.Close();
reader.Close();
}
}
}
}
xmL數(shù)據(jù)
<?xml version="1.0" encoding="utf-8" ?>
<menu>
<submenu id="1" text="校區(qū)基本信息">
<item text="校區(qū)管理" href="SchoolBaseSet/SchoolManagement/SchoolInformation.aspx" href="SchoolBaseSet/SchoolManagement/SchoolInformation.aspx" roles="超級管理員,系統(tǒng)管理員,院校長"></item>
<item text="班級管理" href="SchoolBaseSet/ClassManagement/ClassInformation.aspx" href="SchoolBaseSet/ClassManagement/ClassInformation.aspx" roles="超級管理員,系統(tǒng)管理員,班主任,院校長,教學(xué)主管,教學(xué)主任,校區(qū)考試專員" ></item>
<item text="學(xué)生信息管理" href="SchoolBaseSet/StudentInformation/StudentInformation.aspx" href="SchoolBaseSet/StudentInformation/StudentInformation.aspx" roles="超級管理員,系統(tǒng)管理員,院校長,班主任,教學(xué)主管,教學(xué)主任" ></item>
<item text="用戶信息管理" href="SchoolBaseSet/UserManagement/UserInformation.aspx" href="SchoolBaseSet/UserManagement/UserInformation.aspx" roles="超級管理員,系統(tǒng)管理員,院校長,教學(xué)主管,教學(xué)主任"></item>
<item text="教師審批管理" href="SchoolBaseSet/TeacherPass/TeacherPass.aspx" href="SchoolBaseSet/TeacherPass/TeacherPass.aspx" roles="教學(xué)主管,教學(xué)主任,校區(qū)考試專員"></item>
<item text="切換教師角色" href="SchoolBaseSet/TeacherPass/RolesChange.aspx" href="SchoolBaseSet/TeacherPass/RolesChange.aspx" roles="校區(qū)考試專員"></item>
</submenu>
<submenu id="2" text="學(xué)生成績管理">
<item text="成績綜合管理" href="StudentGradeManagement/StudentGradedescirption/StudentGradeAll.aspx" href="StudentGradeManagement/StudentGradedescirption/StudentGradeAll.aspx" roles="超級管理員,系統(tǒng)管理員,院校長,班主任,教學(xué)主管,教學(xué)主任" ></item>
<item text="學(xué)生成績管理" href="StudentGradeManagement/StudentGradedescirption/StudentInformation.aspx" href="StudentGradeManagement/StudentGradedescirption/StudentInformation.aspx" roles="超級管理員,系統(tǒng)管理員,院校長,班主任,教學(xué)主管,教學(xué)主任" ></item>
</submenu>
<submenu id="3" text="數(shù)據(jù)字典設(shè)置">
<item text="專業(yè)管理" href="DataDictionary/Specialty/Specialties.aspx" href="DataDictionary/Specialty/Specialties.aspx" roles="超級管理員,系統(tǒng)管理員" ></item>
<item text="課程管理" href="DataDictionary/Course/Courses.aspx" href="DataDictionary/Course/Courses.aspx" roles="超級管理員,系統(tǒng)管理員" ></item>
<item text="專業(yè)課程管理" href="DataDictionary/CourseInSpecialty/CouserInSpecialty.aspx" href="DataDictionary/CourseInSpecialty/CouserInSpecialty.aspx" roles="超級管理員,系統(tǒng)管理員" ></item>
<item text="角色管理" href="DataDictionary/Rolse/Roles.aspx" href="DataDictionary/Rolse/Roles.aspx" roles="超級管理員"></item>
<item text="管理員管理" href="DataDictionary/AdminUser/AdministratorUser.aspx" href="DataDictionary/AdminUser/AdministratorUser.aspx" roles="超級管理員" ></item>
<item text="Logo圖標管理" href="DataDictionary/Logo/EditLogo.aspx" href="DataDictionary/Logo/EditLogo.aspx" roles="超級管理員,系統(tǒng)管理員,教學(xué)主管,教學(xué)主任" ></item>
<item text="學(xué)號長度設(shè)置" href="DataDictionary/StudentCodeSet/StudentCodeLenghtInf.aspx" href="DataDictionary/StudentCodeSet/StudentCodeLenghtInf.aspx" roles="超級管理員,系統(tǒng)管理員" ></item>
<item text="恢復(fù)設(shè)置管理" href="DataDictionary/RemoveSchool/RemoveAllSchool.aspx" href="DataDictionary/RemoveSchool/RemoveAllSchool.aspx" roles="超級管理員" ></item>
</submenu>
<submenu id="4" text="考試操作管理">
<item text="考試類型管理" href="ExamManagement/ExamType/ExamTypeInformation.aspx" href="ExamManagement/ExamType/ExamTypeInformation.aspx" roles="超級管理員,系統(tǒng)管理員" ></item>
<item text="試卷模板管理" href="ExamManagement/ExamTemplate/ExamTemplateInformation.aspx" href="ExamManagement/ExamTemplate/ExamTemplateInformation.aspx" roles="超級管理員,系統(tǒng)管理員" ></item>
<item text="試題類型管理" href="ExamManagement/ExaminationType/ExaminationInformation.aspx" href="ExamManagement/ExaminationType/ExaminationInformation.aspx" roles="超級管理員,系統(tǒng)管理員" ></item>
<item text="試題題目管理" href="ExamManagement/ExamQuestion/QuestionInformation.aspx" href="ExamManagement/ExamQuestion/QuestionInformation.aspx" roles="超級管理員,系統(tǒng)管理員" ></item>
<item text="考試申請管理" href="ExamManagement/ExamApplication/ExamApplicationInformation.aspx" href="ExamManagement/ExamApplication/ExamApplicationInformation.aspx" roles="超級管理員,系統(tǒng)管理員" ></item>
<item text="試卷下載管理" href="ExamManagement/ExamDownLoad/ExamDownLoadInformation.aspx" href="ExamManagement/ExamDownLoad/ExamDownLoadInformation.aspx" roles="超級管理員,系統(tǒng)管理員" ></item>
<item text="試卷刪除管理" href="ExamManagement/ExamPaperDelete/ExamPaperClear.aspx" href="ExamManagement/ExamPaperDelete/ExamPaperClear.aspx" roles="超級管理員,系統(tǒng)管理員" ></item>
</submenu>
<submenu id="5" text="報表信息管理">
<item text="緩考補考報表" href="ReportInformation/StudentExamState/StudentExamState.aspx" href="ReportInformation/StudentExamState/StudentExamState.aspx" roles="超級管理員,系統(tǒng)管理員,院校長,班主任,教學(xué)主管,教學(xué)主任,校區(qū)考試專員" ></item>
<item text="校區(qū)考試報表" href="ReportInformation/ExamGrade/ExamGradeReport.aspx" href="ReportInformation/ExamGrade/ExamGradeReport.aspx" roles="超級管理員,系統(tǒng)管理員,院校長,教學(xué)主管,教學(xué)主任,校區(qū)考試專員" ></item>
<item text="班級課程報表" href="ReportInformation/StudentExamByClass/StudentExamReport.aspx" href="ReportInformation/StudentExamByClass/StudentExamReport.aspx" roles="超級管理員,系統(tǒng)管理員,院校長,班主任,教學(xué)主管,教學(xué)主任,校區(qū)考試專員" ></item>
</submenu>
<submenu id="6" text="日志操作管理">
<item text="登陸日志管理" href="LoginManagement/LogLogins.aspx" href="LoginManagement/LogLogins.aspx" roles="超級管理員" ></item>
<item text="操作日志管理" href="LoginManagement/LogOpeations.aspx" href="LoginManagement/LogOpeations.aspx" roles="超級管理員" ></item>
<item text="日志導(dǎo)出" href="LoginManagement/ErportLog.aspx" href="LoginManagement/ErportLog.aspx" roles="超級管理員" >
</item>
</submenu>
<submenu id="7" text="個人信息管理">
<item text="個人資料修改" href="PersonalManagement/PersonalManagement.aspx" href="PersonalManagement/PersonalManagement.aspx" roles="超級管理員,系統(tǒng)管理員,院校長,班主任,教學(xué)主管,教學(xué)主任,校區(qū)考試專員" ></item>
</submenu>
</menu>
從上面的簡單代碼可以看到 如果有權(quán)限的話 可以通過節(jié)點的Roles屬性判斷當(dāng)前登陸的賬號角色名是否符合然后判斷輸出這樣的話您就可以直接操作XML數(shù)據(jù) 而不用考慮別的。
相關(guān)文章
詳解ASP.NET MVC 解析模板生成靜態(tài)頁(RazorEngine)
我們在很多項目開發(fā)中會常常用到頁面靜態(tài)化,本篇文章主要介紹了詳解ASP.NET MVC 解析模板生成靜態(tài)頁(RazorEngine) ,具有一定的參考價值,有興趣的可以了解一下。2017-03-03基于Asp.Net MVC4 Bundle捆綁壓縮技術(shù)的介紹
本篇文章,小編將為大家介紹,Asp.Net MVC4 Bundle捆綁壓縮技術(shù),有需要的朋友可以參考一下2013-04-04.Net Core導(dǎo)入千萬級數(shù)據(jù)至Mysql數(shù)據(jù)庫的實現(xiàn)方法
今天我們談?wù)凪ySQL怎么高性能插入千萬級的數(shù)據(jù)的,討論這個問題牽扯到一個數(shù)據(jù)遷移功能,高性能的插入數(shù)據(jù),接下來通過本文給大家分享幾種實現(xiàn)方法,感興趣的朋友跟隨小編一起學(xué)習(xí)下吧2021-05-05設(shè)置默認Ajax操作cache and error
設(shè)置默認Ajax操作cache and error,需要的朋友可以參考一下2013-02-02關(guān)于vs2005、vs2008和vs2010項目互轉(zhuǎn)的總結(jié)
有做.net的程序員和朋友曾經(jīng)問過我,關(guān)于vs2005和vs2008、vs2008和vs2010、vs2005和vs2010項目互轉(zhuǎn)的問題,特整理下分享給大家2012-04-04Asp.net mvc驗證用戶登錄之Forms實現(xiàn)詳解
這篇文章主要為大家詳細介紹了Asp.net mvc驗證用戶登錄之Forms實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10asp.net發(fā)布后web.config中compilation的debug的值true和false區(qū)別點整理
在本篇文章里小編給大家整理的是一篇關(guān)于asp.net發(fā)布后web.config中compilation的debug的值true和false區(qū)別點內(nèi)容,有需要的為朋友們可以參考下。2020-01-01國產(chǎn)化之銀河麒麟安裝.netcore3.1的詳細步驟(手動安裝)
這篇文章主要介紹了國產(chǎn)化之銀河麒麟安裝.netcore3.1的詳細步驟(手動安裝),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03