asp.net implements dynamic permissions under xml as a navigation data source

  • 2020-05-07 19:29:43
  • OfStack

The code in the cs file
 
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 operation  
/// </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> 
///  loading XML The document  
/// </summary> 
private void XMLLoad() 
{ 
x.Load(Server.MapPath("~/Left.xml")); 
} 

/// <summary> 
///  read XML content  
/// </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 data
 
<?xml version="1.0" encoding="utf-8" ?> 
<menu> 
<submenu id="1" text=" Basic information of campus "> 
<item text=" Campus management " href="SchoolBaseSet/SchoolManagement/SchoolInformation.aspx" href="SchoolBaseSet/SchoolManagement/SchoolInformation.aspx" roles=" Super administrator , System administrator , of "></item> 
<item text=" Class management " href="SchoolBaseSet/ClassManagement/ClassInformation.aspx" href="SchoolBaseSet/ClassManagement/ClassInformation.aspx" roles=" Super administrator , System administrator , The teacher in charge , of , Director of teaching , Director of teaching , District examination specialist " ></item> 
<item text=" Student information management " href="SchoolBaseSet/StudentInformation/StudentInformation.aspx" href="SchoolBaseSet/StudentInformation/StudentInformation.aspx" roles=" Super administrator , System administrator , of , The teacher in charge , Director of teaching , Director of teaching " ></item> 
<item text=" User information management " href="SchoolBaseSet/UserManagement/UserInformation.aspx" href="SchoolBaseSet/UserManagement/UserInformation.aspx" roles=" Super administrator , System administrator , of , Director of teaching , Director of teaching "></item> 
<item text=" Teacher approval management " href="SchoolBaseSet/TeacherPass/TeacherPass.aspx" href="SchoolBaseSet/TeacherPass/TeacherPass.aspx" roles=" Director of teaching , Director of teaching , District examination specialist "></item> 
<item text=" Switch teacher roles " href="SchoolBaseSet/TeacherPass/RolesChange.aspx" href="SchoolBaseSet/TeacherPass/RolesChange.aspx" roles=" District examination specialist "></item> 
</submenu> 
<submenu id="2" text=" Student performance management "> 
<item text=" Integrated performance management " href="StudentGradeManagement/StudentGradedescirption/StudentGradeAll.aspx" href="StudentGradeManagement/StudentGradedescirption/StudentGradeAll.aspx" roles=" Super administrator , System administrator , of , The teacher in charge , Director of teaching , Director of teaching " ></item> 
<item text=" Student performance management " href="StudentGradeManagement/StudentGradedescirption/StudentInformation.aspx" href="StudentGradeManagement/StudentGradedescirption/StudentInformation.aspx" roles=" Super administrator , System administrator , of , The teacher in charge , Director of teaching , Director of teaching " ></item> 
</submenu> 
<submenu id="3" text=" Data dictionary Settings "> 
<item text=" Professional management " href="DataDictionary/Specialty/Specialties.aspx" href="DataDictionary/Specialty/Specialties.aspx" roles=" Super administrator , System administrator " ></item> 
<item text=" Course management " href="DataDictionary/Course/Courses.aspx" href="DataDictionary/Course/Courses.aspx" roles=" Super administrator , System administrator " ></item> 
<item text=" Professional course management " href="DataDictionary/CourseInSpecialty/CouserInSpecialty.aspx" href="DataDictionary/CourseInSpecialty/CouserInSpecialty.aspx" roles=" Super administrator , System administrator " ></item> 
<item text=" Role management " href="DataDictionary/Rolse/Roles.aspx" href="DataDictionary/Rolse/Roles.aspx" roles=" Super administrator "></item> 
<item text=" Administrator management " href="DataDictionary/AdminUser/AdministratorUser.aspx" href="DataDictionary/AdminUser/AdministratorUser.aspx" roles=" Super administrator " ></item> 
<item text="Logo Icon management " href="DataDictionary/Logo/EditLogo.aspx" href="DataDictionary/Logo/EditLogo.aspx" roles=" Super administrator , System administrator , Director of teaching , Director of teaching " ></item> 
<item text=" Student number length setting " href="DataDictionary/StudentCodeSet/StudentCodeLenghtInf.aspx" href="DataDictionary/StudentCodeSet/StudentCodeLenghtInf.aspx" roles=" Super administrator , System administrator " ></item> 
<item text=" Restore Settings management " href="DataDictionary/RemoveSchool/RemoveAllSchool.aspx" href="DataDictionary/RemoveSchool/RemoveAllSchool.aspx" roles=" Super administrator " ></item> 
</submenu> 
<submenu id="4" text=" Examination operation management "> 
<item text=" Examination type management " href="ExamManagement/ExamType/ExamTypeInformation.aspx" href="ExamManagement/ExamType/ExamTypeInformation.aspx" roles=" Super administrator , System administrator " ></item> 
<item text=" Paper template management " href="ExamManagement/ExamTemplate/ExamTemplateInformation.aspx" href="ExamManagement/ExamTemplate/ExamTemplateInformation.aspx" roles=" Super administrator , System administrator " ></item> 
<item text=" Item type management " href="ExamManagement/ExaminationType/ExaminationInformation.aspx" href="ExamManagement/ExaminationType/ExaminationInformation.aspx" roles=" Super administrator , System administrator " ></item> 
<item text=" Item management " href="ExamManagement/ExamQuestion/QuestionInformation.aspx" href="ExamManagement/ExamQuestion/QuestionInformation.aspx" roles=" Super administrator , System administrator " ></item> 
<item text=" Administration of examination application " href="ExamManagement/ExamApplication/ExamApplicationInformation.aspx" href="ExamManagement/ExamApplication/ExamApplicationInformation.aspx" roles=" Super administrator , System administrator " ></item> 
<item text=" Test paper download management " href="ExamManagement/ExamDownLoad/ExamDownLoadInformation.aspx" href="ExamManagement/ExamDownLoad/ExamDownLoadInformation.aspx" roles=" Super administrator , System administrator " ></item> 
<item text=" Examination paper deletion management " href="ExamManagement/ExamPaperDelete/ExamPaperClear.aspx" href="ExamManagement/ExamPaperDelete/ExamPaperClear.aspx" roles=" Super administrator , System administrator " ></item> 
</submenu> 
<submenu id="5" text=" Report information management "> 
<item text=" Deferred test report " href="ReportInformation/StudentExamState/StudentExamState.aspx" href="ReportInformation/StudentExamState/StudentExamState.aspx" roles=" Super administrator , System administrator , of , The teacher in charge , Director of teaching , Director of teaching , District examination specialist " ></item> 
<item text=" School district examination report " href="ReportInformation/ExamGrade/ExamGradeReport.aspx" href="ReportInformation/ExamGrade/ExamGradeReport.aspx" roles=" Super administrator , System administrator , of , Director of teaching , Director of teaching , District examination specialist " ></item> 
<item text=" Class curriculum report " href="ReportInformation/StudentExamByClass/StudentExamReport.aspx" href="ReportInformation/StudentExamByClass/StudentExamReport.aspx" roles=" Super administrator , System administrator , of , The teacher in charge , Director of teaching , Director of teaching , District examination specialist " ></item> 
</submenu> 
<submenu id="6" text=" Log operation management "> 
<item text=" Log-in log management " href="LoginManagement/LogLogins.aspx" href="LoginManagement/LogLogins.aspx" roles=" Super administrator " ></item> 
<item text=" Operation log management " href="LoginManagement/LogOpeations.aspx" href="LoginManagement/LogOpeations.aspx" roles=" Super administrator " ></item> 
<item text=" The log export " href="LoginManagement/ErportLog.aspx" href="LoginManagement/ErportLog.aspx" roles=" Super administrator " > 
</item> 
</submenu> 
<submenu id="7" text=" Personal information management "> 
<item text=" Personal data modification " href="PersonalManagement/PersonalManagement.aspx" href="PersonalManagement/PersonalManagement.aspx" roles=" Super administrator , System administrator , of , The teacher in charge , Director of teaching , Director of teaching , District examination specialist " ></item> 
</submenu> 
</menu> 

From the simple code above, you can see that if you have permission, you can use the Roles attribute of the node to determine whether the current login account role name matches and then determine the output so that you can directly manipulate the XML data without considering anything else.

Related articles: