点这里进入ABP入门教程目录
菜单更新
在展示层(即JD.CRS.Web.Mvc)的Startup下打开CRSNavigationProvider.cs //用以存放菜单相关信息
修改如下
1 using Abp.Application.Navigation;
2 using Abp.Localization;
3 using JD.CRS.Authorization;
4
5 namespace JD.CRS.Web.Startup
6 {
7 /// <summary>
8 /// This class defines menus for the application.
9 /// </summary>
10 public class CRSNavigationProvider : NavigationProvider
11 {
12 public override void SetNavigation(INavigationProviderContext context)
13 {
14 context.Manager.MainMenu
15 .AddItem( //一级菜单 - 首页
16 new MenuItemDefinition(
17 PageNames.Home,
18 L("HomePage"),
19 url: "",
20 icon: "home",
21 requiredPermissionName: PermissionNames.Pages_Home
22 )
23 )
24 .AddItem( //一级菜单 - 基础数据
25 new MenuItemDefinition(
26 "Data",
27 L("Data"),
28 icon: "storage"
29 ).AddItem( //二级菜单 - 办公室设置
30 new MenuItemDefinition(
31 PageNames.Office,
32 L("Office"),
33 url: "Office",
34 requiredPermissionName: PermissionNames.Pages_Office
35 )
36 ).AddItem( //二级菜单 - 院系设置
37 new MenuItemDefinition(
38 PageNames.Department,
39 L("Department"),
40 url: "Department",
41 requiredPermissionName: PermissionNames.Pages_Department
42 )
43 ).AddItem( //二级菜单 - 课程设置
44 new MenuItemDefinition(
45 PageNames.Course,
46 L("Course"),
47 url: "Course",
48 requiredPermissionName: PermissionNames.Pages_Course
49 )
50 ).AddItem( //二级菜单 - 教职员设置
51 new MenuItemDefinition(
52 PageNames.Instructor,
53 L("Instructor"),
54 url: "Instructor",
55 requiredPermissionName: PermissionNames.Pages_Instructor
56 )
57 ).AddItem( //二级菜单 - 学生设置
58 new MenuItemDefinition(
59 PageNames.Student,
60 L("Student"),
61 url: "Student",
62 requiredPermissionName: PermissionNames.Pages_Student
63 )
64 )
65 )
66 .AddItem( //一级菜单 - 综合服务
67 new MenuItemDefinition(
68 "Service",
69 L("Service"),
70 icon: "business"
71 ).AddItem( //二级菜单 - 教职员办公室设置
72 new MenuItemDefinition(
73 PageNames.OfficeInstructor,
74 L("OfficeInstructor"),
75 url: "OfficeInstructor"
76 )
77 ).AddItem( //二级菜单 - 院系主任设置
78 new MenuItemDefinition(
79 PageNames.DepartmentInstructor,
80 L("DepartmentInstructor"),
81 url: "DepartmentInstructor"
82 )
83 ).AddItem( //二级菜单 - 院系课程设置
84 new MenuItemDefinition(
85 PageNames.DepartmentCourse,
86 L("DepartmentCourse"),
87 url: "DepartmentCourse"
88 )
89 ).AddItem( //二级菜单 - 教职员课程设置
90 new MenuItemDefinition(
91 PageNames.InstructorCourse,
92 L("InstructorCourse"),
93 url: "InstructorCourse"
94 )
95 ).AddItem( //二级菜单 - 学生课程设置
96 new MenuItemDefinition(
97 PageNames.StudentCourse,
98 L("StudentCourse"),
99 url: "StudentCourse"
100 )
101 )
102 )
103 .AddItem( //一级菜单 - 管理报表
104 new MenuItemDefinition(
105 "Report",
106 L("Report"),
107 icon: "poll"
108 ).AddItem( //二级菜单 - 办公室报表
109 new MenuItemDefinition(
110 PageNames.OfficeReport,
111 L("OfficeReport"),
112 url: "OfficeReport",
113 requiredPermissionName: PermissionNames.Pages_OfficeReport
114 )
115 ).AddItem( //二级菜单 - 院系报表
116 new MenuItemDefinition(
117 PageNames.DepartmentReport,
118 L("DepartmentReport"),
119 url: "DepartmentReport",
120 requiredPermissionName: PermissionNames.Pages_DepartmentReport
121 )
122 ).AddItem( //二级菜单 - 课程报表
123 new MenuItemDefinition(
124 PageNames.CourseReport,
125 L("CourseReport"),
126 url: "CourseReport",
127 requiredPermissionName: PermissionNames.Pages_CourseReport
128 )
129 ).AddItem( //二级菜单 - 教职员报表
130 new MenuItemDefinition(
131 PageNames.InstructorReport,
132 L("InstructorReport"),
133 url: "InstructorReport",
134 requiredPermissionName: PermissionNames.Pages_InstructorReport
135 )
136 ).AddItem( //二级菜单 - 学生报表
137 new MenuItemDefinition(
138 PageNames.StudentReport,
139 L("StudentReport"),
140 url: "StudentReport",
141 requiredPermissionName: PermissionNames.Pages_StudentReport
142 )
143 )
144 )
145 .AddItem( //一级菜单 - 系统设置
146 new MenuItemDefinition(
147 "Setting",
148 L("Setting"),
149 icon: "settings"
150 ).AddItem( //二级菜单 - 租户管理
151 new MenuItemDefinition(
152 PageNames.Tenants,
153 L("Tenants"),
154 url: "Tenants",
155 requiredPermissionName: PermissionNames.Pages_Tenants
156 )
157 ).AddItem( //二级菜单 - 用户管理
158 new MenuItemDefinition(
159 PageNames.Users,
160 L("Users"),
161 url: "Users",
162 requiredPermissionName: PermissionNames.Pages_Users
163 )
164 ).AddItem( //二级菜单 - 角色管理
165 new MenuItemDefinition(
166 PageNames.Roles,
167 L("Roles"),
168 url: "Roles",
169 requiredPermissionName: PermissionNames.Pages_Roles
170 )
171 )
172 )
173 .AddItem( //一级菜单 - 关于
174 new MenuItemDefinition(
175 PageNames.About,
176 L("About"),
177 url: "About",
178 icon: "info",
179 requiresAuthentication: true
180 )
181 );
182 }
183
184 private static ILocalizableString L(string name)
185 {
186 return new LocalizableString(name, CRSConsts.LocalizationSourceName);
187 }
188 }
189 }
View Code
权限更新
在领域层(即JD.CRS.Core)的Authorization下打开CRSAuthorizationProvider.cs //用以存放权限相关信息
修改如下
1 using Abp.Authorization;
2 using Abp.Localization;
3 using Abp.MultiTenancy;
4
5 namespace JD.CRS.Authorization
6 {
7 public class CRSAuthorizationProvider : AuthorizationProvider
8 {
9 private static ILocalizableString L(string name)
10 {
11 return new LocalizableString(name, CRSConsts.LocalizationSourceName);
12 }
13 public override void SetPermissions(IPermissionDefinitionContext context)
14 {
15 context.CreatePermission(PermissionNames.Pages_Home, L("Home"));
16 context.CreatePermission(PermissionNames.Pages_Office, L("Office"));
17 context.CreatePermission(PermissionNames.Pages_Department, L("Department"));
18 context.CreatePermission(PermissionNames.Pages_Course, L("Course"));
19 context.CreatePermission(PermissionNames.Pages_Instructor, L("Instructor"));
20 context.CreatePermission(PermissionNames.Pages_Student, L("Student"));
21 context.CreatePermission(PermissionNames.Pages_OfficeInstructor, L("OfficeInstructor"));
22 context.CreatePermission(PermissionNames.Pages_DepartmentInstructor, L("DepartmentInstructor"));
23 context.CreatePermission(PermissionNames.Pages_DepartmentCourse, L("DepartmentCourse"));
24 context.CreatePermission(PermissionNames.Pages_InstructorCourse, L("InstructorCourse"));
25 context.CreatePermission(PermissionNames.Pages_StudentCourse, L("StudentCourse"));
26 context.CreatePermission(PermissionNames.Pages_OfficeReport, L("OfficeReport"));
27 context.CreatePermission(PermissionNames.Pages_DepartmentReport, L("DepartmentReport"));
28 context.CreatePermission(PermissionNames.Pages_CourseReport, L("CourseReport"));
29 context.CreatePermission(PermissionNames.Pages_InstructorReport, L("InstructorReport"));
30 context.CreatePermission(PermissionNames.Pages_StudentReport, L("StudentReport"));
31 context.CreatePermission(PermissionNames.Pages_Tenants, L("Tenants"), multiTenancySides: MultiTenancySides.Host);
32 context.CreatePermission(PermissionNames.Pages_Users, L("Users"));
33 context.CreatePermission(PermissionNames.Pages_Roles, L("Roles"));
34 }
35 }
36 }
View Code
关联更新
与菜单/权限关联的两个静态类也需要更新
JD.CRS.Web.Mvc\Startup\PageNames.cs //用以存放菜单相关静态信息
1 namespace JD.CRS.Web.Startup
2 {
3 public class PageNames
4 {
5 public const string Home = "Home";
6 public const string Office = "Office";
7 public const string Department = "Department";
8 public const string Course = "Course";
9 public const string Instructor = "Instructor";
10 public const string Student = "Student";
11 public const string OfficeInstructor = "OfficeInstructor";
12 public const string DepartmentInstructor = "DepartmentInstructor";
13 public const string DepartmentCourse = "DepartmentCourse";
14 public const string InstructorCourse = "InstructorCourse";
15 public const string StudentCourse = "StudentCourse";
16 public const string OfficeReport = "OfficeReport";
17 public const string DepartmentReport = "DepartmentReport";
18 public const string CourseReport = "CourseReport";
19 public const string InstructorReport = "InstructorReport";
20 public const string StudentReport = "StudentReport";
21 public const string Tenants = "Tenants";
22 public const string Users = "Users";
23 public const string Roles = "Roles";
24 public const string About = "About";
25 }
26 }
View Code
JD.CRS.Core\Authorization\PermissionNames.cs //用以存放权限相关静态信息
1 namespace JD.CRS.Authorization
2 {
3 public static class PermissionNames
4 {
5 public const string Pages_Home = "Pages.Home";
6 public const string Pages_Data = "Menu.Data";
7 public const string Pages_Operation = "Menu.Operation";
8 public const string Pages_Report = "Menu.Report";
9 public const string Pages_Setting = "Menu.Setting";
10 public const string Pages_About = "Pages.About";
11 public const string Pages_Office = "Pages.Office";
12 public const string Pages_Department = "Pages.Department";
13 public const string Pages_Course = "Pages.Course";
14 public const string Pages_Instructor = "Pages.Instructor";
15 public const string Pages_Student = "Pages.Student";
16 public const string Pages_OfficeInstructor = "Pages.OfficeInstructor";
17 public const string Pages_DepartmentInstructor = "Pages.DepartmentInstructor";
18 public const string Pages_DepartmentCourse = "Pages.DepartmentCourse";
19 public const string Pages_InstructorCourse = "Pages.InstructorCourse";
20 public const string Pages_StudentCourse = "Pages.StudentCourse";
21 public const string Pages_OfficeReport = "Pages.OfficeReport";
22 public const string Pages_DepartmentReport = "Pages.DepartmentReport";
23 public const string Pages_CourseReport = "Pages.CourseReport";
24 public const string Pages_InstructorReport = "Pages.InstructorReport";
25 public const string Pages_StudentReport = "Pages.StudentReport";
26 public const string Pages_Tenants = "Pages.Tenants";
27 public const string Pages_Users = "Pages.Users";
28 public const string Pages_Roles = "Pages.Roles";
29 }
30 }
View Code