自定义权限代码的功能是为了方便用户进行功能模块(功能模块:像SiteFactory™系统中的‘我的工作台’是一个功能模块,其中还包含多个子模块)扩展,增加一个功能模块只需要进行一下简单的文件修改和增加。那么现在就开始进行自定义权限代码功能的使用说明吧!
假设需要增加一个自定义链接管理功能模块,具体功能怎样实现不多说了。这个自定义链接管理程序编译后会在BIN文件夹里产生后缀名为DLL的文件(这些DLL文件可以理解为‘组件’)。
下面讲解文件配置步骤:
1、我们把编译后的DLL文件复制倒SiteFactory™系统虚拟目录下的BIN文件夹里。
BIN文件夹里全部都是放置的DLL文件,这些文件都是SiteFactory™系统所需要用到的组件。
2、在SiteFactory™系统虚拟目录下的Admin文件夹里建立相应的文件夹,再把自定义链接管理程序里的后缀名为aspx、aspx.cs、还有其他的相应文件复制倒新建的文件夹中。复制倒新建文件夹里的文件一般不包括后缀名为config这类的配置文件,可以包含一些自己的后缀名为cs类文件、sql数据库文件等。
3、更改 \Config\ConnectionStrings.config 数据库链接,在<connectionStrings>节点
里增加类似节点
<remove name ="*****"/> <add name="*****" connectionString=" user id=******; password=******; initial catalog=****; data source=*****; Connect Timeout=*****;" providerName="***** " />
这里是为了与数据库建立链接,所有数据库链接的配置在ConnectionStrings.config文件中配置。
4、更改主程序 \Admin\Common\Admin.sitemap 文件增加类似节点
<siteMapNode url="" title="自定义链接管理" description="自定义链接管理">
<siteMapNode url="~/Admin/ Redirect/AutoRedirect.aspx" title="自定义链接配置" description="自定义链接配置" />
</siteMapNode>
此配置与
aspx文件中用倒<pe:ExtendedSiteMapPath ID="**" runat="server" />控件相关,会在相应的页面显示出
后台管理 >>自定义链接管理>>自定义链接配置
5、更改主程序 \Admin\Common\MainMenu.xml文件增加类似节点(非常重要)
<channelMenu id="AutoRedirect" operateCode="AutoRedirect" Description="" title="自定义链接管理" ShowOnForm="true">
<mainMenu id="AutoRedirecTdeploy" title="自定义链接配置" operateCode="AutoRedirecTdeploy" leftUrl="" rightUrl="" ShowOnForm="true" Description="" >
<subMenu id="AutoRedirectGuide" title="自定义链接管理" operateCode="AutoRedirectGuide" leftUrl="Redirect/AutoRedirectGuide.aspx" rightUrl="Redirect/AutoRedirect.aspx" ShowOnForm="true" Description="" />
<subMenu id="AutoRedirectAdd" title="添加自定义链接" operateCode="AutoRedirectAdd" leftUrl="Redirect/AutoRedirectGuide.aspx" rightUrl="Redirect/AutoRedirectAdd.aspx" ShowOnForm="true" Description="" />
</mainMenu>
</channelMenu>
id属性
在后台管理
>> 用户管理 >> 管理员管理 >>
角色管理 >>
常规模块权限设置中作为复选框的
ID,‘<input type='checkbox' name='ModelPurview' value='CommonModel' id='CommonModel' onclick="javascript:CheckModel(this);" />’。<channelMenu>下的子节点的
ID属性在作为复选框的ID时将会加‘_’作区别<input type='checkbox' name='ModelPurview' value='ContentModelManage' id='CommonModel_ContentModelManage' onclick="javascript:CheckModel(this);" />并以此类推。且要保证在MainMenu.xml整个文件中所有Id属性的唯一性。
title属性
打开MainMenu.xml文件我们可以看倒<menu>……</menu>根节点下有有许多<channelMenu>节点,<channelMenu>节点中的title=""属性就是在现有系统顶部所看倒的。
<channelMenu>节点下有<mainMenu>节点,<mainMenu>节点中的title=""属性就是在现有系统中鼠标点击‘系统设置’,下面分别会出现‘网站配置’、‘内容模型管理’等。
<mainMenu>节点下又有<subMenu>节点,<mainMenu>节点中的title=""属性就是在现有系统中鼠标移动倒‘网站配置’上下面出现的内容。
operateCode属性
此最为重要了,它是作为权限的判断依据了,也就是在管理员角色管理中作为角色分配权限的一种依据。虽然它的唯一性没有ID那么强,只需要保证在<channelMenu>节点里的唯一性,但建议也在MainMenu.xml整个文件中所有operateCode属性保证唯一性。系统中有一种特殊的operateCode属性值为‘None’,它表示为不为任何类型(系统中以有6种类型:内容管理、商店管理、客户关系、用户管理、附件管理),像‘我的工作台’不同的角色都需要用,所以在operateCode属性值设置为‘None’。一般新增的模块里的operateCode属性值都设置成与系统以的operateCode属性值不相同,以保证系统的安全。
Description属性
此属性值是作节点的描述用的,方便用户自己理解,起倒的实际作用不是很大。
ShowOnForm属性
此属性值为两种:
True或者False。也就是指示节点是否在后台管理
>> 用户管理 >> 管理员管理 >>
角色管理 >>
常规模块权限设置中出现。通常情况下ShowOnForm属性和operateCode属性联合用,ShowOnForm属性值设置为‘
false’的话,operateCode属性值一般都为‘None’,ShowOnForm属性值设置为‘
true’的话operateCode属性值就要保证唯一性了。
leftUrl属性和rightUrl属性
在<mainMenu>节点及其子节点里的leftUrl属性和rightUrl属性,前者指向系统后台左侧页面,后者指向系统后台右侧页面。
6、更改主程序 \Admin\Common\QuickLinks.xml文件增加类似节点
<Module id="AutoRedirect" title="自定义链接管理" operateCode="AutoRedirect" description="自定义链接管理">
<Link id="AutoRedirecTdeploy" title="自定义链接配置" operateCode="AutoRedirecTdeploy" leftUrl="" rightUrl="" description="" >
<Link id="AutoRedirectGuide" title="自定义链接管理" IsDefalutShow="true" operateCode="AutoRedirectGuide" leftUrl="Redirect/AutoRedirectGuide.aspx" rightUrl="Redirect/AutoRedirect.aspx" description="" />
<Link id="AutoRedirectAdd" title="添加自定义链接" operateCode="AutoRedirectAdd" leftUrl="Redirect/AutoRedirectGuide.aspx" rightUrl="Redirect/AutoRedirectAdd.aspx" description="" />
</Link>
</Module>
此文件用于快捷导航,文件配置与MainMenu.xml文件类似,只是属性IsDefalutShow和ShowOnForm不同。IsDefalutShow设置为‘True’表示为在快捷导航中显示。以上节点在后台管理 >> 我的工作台 >> 快捷导航配置显示为:
经过以上六步操作,就可以完成功能的配置了。在配置中,第1、2、3、4、5步是必须的,第6步可以不作配置。