📄 default.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Zeroone.Security.Permissions;
using Zeroone.Security;
using Zeroone.FileSystem;
using Zeroone.Data;
using Zeroone.Custom;
using System.IO;
using Zeroone.Caching;
public partial class Installer_Default : System.Web.UI.Page
{
protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e)
{
//首先创建zeroone_cache目录和zeroone_searchIndexFile目录
CreateCacheDirectory();
CreateIndexFileDirectory();
//step 1:add system paths
AddSystemCategory();
//step 2:add system permission name
AddSystemPermissionNames();
//setp 3:add system roles
AddSystemRoles();
//setp 4:add system default permissions
AddDefaultPermissions();
//setp 5:add a admistrator
Membership.CreateUser(this.tbUserName.Text, tbPassword.Text, tbEmail.Text);
Roles.AddUserToRole(this.tbUserName.Text, RoleController.Administrators);
Response.Redirect("~/admin/login.aspx?ReturnUrl=default.aspx");
}
void CreateCacheDirectory()
{
if (Directory.Exists(this.Context.Request.PhysicalApplicationPath + "zeroone_cache"))
{
string[] files;
files = Directory.GetFiles(DataCache.CachingDirectory);
for (int i = 0; i < files.Length; i++)
{
File.Delete(files[i]);
}
}
else
{
Directory.CreateDirectory(this.Context.Request.PhysicalApplicationPath + "zeroone_cache");
}
}
void CreateIndexFileDirectory()
{
if (Directory.Exists(this.Context.Request.PhysicalApplicationPath + "zeroone_searchIndexFile"))
{
Directory.Delete(this.Context.Request.PhysicalApplicationPath + "zeroone_searchIndexFile",true);
}
Directory.CreateDirectory(this.Context.Request.PhysicalApplicationPath + "zeroone_searchIndexFile");
}
void AddSystemCategory()
{
if (CategoryController.Exists(CategoryController.SystemRootPath))
{
Response.Write("数据库中存在数据,如果你确定要重新初始化数据库,请手工清除数据库中的所有数据!");
Response.End();
}
Category rootPath = new Category();
rootPath.Name = tbSiteName.Text;
rootPath.Path = CategoryController.SystemRootPath;
CategoryDataProvider.Instance().CreateCategory(rootPath);
//Category auditPath = new Category();
//auditPath.Name = "待审核文档";
//auditPath.Path = CategoryController.SystemAuditPath;
//CategoryDataProvider.Instance().CreateCategory(auditPath);
Category commentPath = new Category();
commentPath.Name = "文档评论";
commentPath.Path = CategoryController.SystemCommentPath;
CategoryDataProvider.Instance().CreateCategory(commentPath);
Category pagesPath = new Category();
pagesPath.Name = "文档分页";
pagesPath.Path = CategoryController.SystemPagesPath;
CategoryDataProvider.Instance().CreateCategory(pagesPath);
Category recyclePath = new Category();
recyclePath.Name = "回收站";
recyclePath.Path = CategoryController.SystemRecyclePath;
CategoryDataProvider.Instance().CreateCategory(recyclePath);
}
void AddSystemPermissionNames()
{
PermissionCustomPermissionController controller = new PermissionCustomPermissionController();
controller.AddPermissionName(PermissionController.CreateCategory, CategoryController.SystemRootPath);
controller.AddPermissionName(PermissionController.CreateDocument, CategoryController.SystemRootPath);
controller.AddPermissionName(PermissionController.DeleteCategory, CategoryController.SystemRootPath);
controller.AddPermissionName(PermissionController.DeleteDocument, CategoryController.SystemRootPath);
controller.AddPermissionName(PermissionController.EditCategory, CategoryController.SystemRootPath);
controller.AddPermissionName(PermissionController.EditDocument, CategoryController.SystemRootPath);
controller.AddPermissionName(PermissionController.ListDocuments, CategoryController.SystemRootPath);
controller.AddPermissionName(PermissionController.ReadCategory, CategoryController.SystemRootPath);
controller.AddPermissionName(PermissionController.ReadDocument, CategoryController.SystemRootPath);
controller.AddPermissionName(PermissionController.ManageDocuments, CategoryController.SystemRootPath);
}
void AddSystemRoles()
{
Roles.CreateRole(RoleController.Administrators);
//Roles.CreateRole(RoleController.CategorySetting);
Roles.CreateRole(RoleController.CategoryDocumentManagers);
Roles.CreateRole(RoleController.Everyone);
Roles.CreateRole(RoleController.RegisteredUsers);
}
void AddDefaultPermissions()
{
string[] roleNames = Roles.GetAllRoles();
#region 配置根目录的角色访问权
for (int i = 0; i < roleNames.Length;i++ )
{
string roleName = roleNames[i];
PermissionInfo permission = new PermissionInfo();
permission.Path = CategoryController.SystemRootPath;
permission.RoleName = roleName;
if (roleName == RoleController.Administrators)
{
permission.SetPermission(PermissionController.CreateCategory, AccessControlEntry.Allow);
permission.SetPermission(PermissionController.CreateDocument, AccessControlEntry.Allow);
permission.SetPermission(PermissionController.DeleteCategory, AccessControlEntry.Allow);
permission.SetPermission(PermissionController.DeleteDocument, AccessControlEntry.Allow);
permission.SetPermission(PermissionController.EditCategory, AccessControlEntry.Allow);
permission.SetPermission(PermissionController.EditDocument, AccessControlEntry.Allow);
permission.SetPermission(PermissionController.ListDocuments, AccessControlEntry.Allow);
permission.SetPermission(PermissionController.ReadCategory, AccessControlEntry.Allow);
permission.SetPermission(PermissionController.ReadDocument, AccessControlEntry.Allow);
permission.SetPermission(PermissionController.ManageDocuments, AccessControlEntry.Allow);
}
//else if (roleName == RoleController.CategorySetting)
//{
// permission.SetPermission(PermissionController.CreateCategory, AccessControlEntry.Deny);
// permission.SetPermission(PermissionController.CreateDocument, AccessControlEntry.Deny);
// permission.SetPermission(PermissionController.DeleteCategory, AccessControlEntry.Deny);
// permission.SetPermission(PermissionController.DeleteDocument, AccessControlEntry.Deny);
// permission.SetPermission(PermissionController.EditCategory, AccessControlEntry.Deny);
// permission.SetPermission(PermissionController.EditDocument, AccessControlEntry.Deny);
// permission.SetPermission(PermissionController.ListDocuments, AccessControlEntry.Deny);
// permission.SetPermission(PermissionController.ReadCategory, AccessControlEntry.Allow);
// permission.SetPermission(PermissionController.ReadDocument, AccessControlEntry.Deny);
// permission.SetPermission(PermissionController.ManageDocuments, AccessControlEntry.Deny);
//}
else if (roleName == RoleController.CategoryDocumentManagers)
{
permission.SetPermission(PermissionController.CreateCategory, AccessControlEntry.Deny);
permission.SetPermission(PermissionController.CreateDocument, AccessControlEntry.Deny);
permission.SetPermission(PermissionController.DeleteCategory, AccessControlEntry.Deny);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -