您的位置:首页 > 移动开发 > Unity3D

Community Server 2007 用户管理与权限控制

2007-09-03 10:12 323 查看
最近单位在接几个项目,开发框架功能类似,可重用的模块就是用户的管理与权限控制,所以研究Community Server 2007 用户管理与权限控制。

先到GOOGLE搜索CS2007 SDK版本,简单的安装配置之后系统可以正常运行了,用户管理是利用了ASPNET20的模块,权限控制是基于角色进行管理的,这两个方面实现还没有达到我们项目的需求,它要达到基于模块的权限控制,比如文件下载,它再细分为哪些角色只读,哪些可以写,哪此可以完全控制等等(图)



具体是如何实现的呢,我们有两个任务,它们分别是后台是如何更新权限,前台如何进行检查控制。

一、Save_Click>UpdatePermission>“Permissions>CommonDataProvider>SqlCommonDataProvider”>

CreateUpdateDeletePermission(引号里面的为类名,具体方法没有给出),下图是数据库实现的关键



".cs_Section_Permission_CreateUpdateDelete"就是存储过程的名字,到此第一步的整个思路就完成了。

二、前台从这里入口 grouplist.aspx>aggregateentrylist.axcx("<CSFile:EntryList...")>与下图的类名对应(关键)



<CSFile:FolderData runat="server" LinkCssClass="CommonImageTextButton CommonUploadButton" LinkTo="AddEntry" ResourceName="Files_Button_Upload" ResourceFile="FileGallery.xml" />

FolderData.CS下面的AddEntry的ValidatePermissions 返回有效连接或不显示(基于URL)

................

case FolderLinkTo.AddEntry:

if (Permissions.ValidatePermissions(folder, Permission.Post, csContext.User))

{

link = new HyperLink();

link.NavigateUrl = FileGalleryUrls.Instance().EntryAdmin(folder.ApplicationKey, -1);

}

else

this.AutomatedVisible = false;

break;

基于Form的POST,GET

<CSFile:DownloadEntryForm.....>

DownloadEntryForm.CS

Permissions.AccessCheck(folder, Permission.Read, csContext.User, entry);

到这里已经把关联到的各个类都讲到了,但有点乱,由于本人很少整理过这方面的资料,欢迎各位多多指教!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: